]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
GVariant: Fix serialization of empty hash tables
authorJürg Billeter <j@bitron.ch>
Wed, 29 Dec 2010 18:36:05 +0000 (19:36 +0100)
committerJürg Billeter <j@bitron.ch>
Sat, 22 Jan 2011 09:56:51 +0000 (10:56 +0100)
codegen/valagvariantmodule.vala

index 64b653be9ecee8bb67c8dc7e19b89b00f7645a14..19c145a91bcd2b0cc6a060238e7a5af620a6869e 100644 (file)
@@ -722,9 +722,12 @@ public class Vala.GVariantModule : GAsyncModule {
                iter_init_call.add_argument (hash_table_expr);
                fragment.append (new CCodeExpressionStatement (iter_init_call));
 
+               var gvariant_type = new CCodeFunctionCall (new CCodeIdentifier ("G_VARIANT_TYPE"));
+               gvariant_type.add_argument (new CCodeConstant ("\"%s\"".printf (get_type_signature (type))));
+
                var iter_call = new CCodeFunctionCall (new CCodeIdentifier ("g_variant_builder_init"));
                iter_call.add_argument (new CCodeUnaryExpression (CCodeUnaryOperator.ADDRESS_OF, new CCodeIdentifier (subiter_name)));
-               iter_call.add_argument (new CCodeIdentifier ("G_VARIANT_TYPE_DICTIONARY"));
+               iter_call.add_argument (gvariant_type);
                fragment.append (new CCodeExpressionStatement (iter_call));
 
                var iter_next_call = new CCodeFunctionCall (new CCodeIdentifier ("g_hash_table_iter_next"));