From: Jürg Billeter Date: Wed, 29 Dec 2010 18:36:05 +0000 (+0100) Subject: GVariant: Fix serialization of empty hash tables X-Git-Tag: 0.10.3~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=091f441069e4b6e156ac992099051cee7aa9cb49;p=thirdparty%2Fvala.git GVariant: Fix serialization of empty hash tables --- diff --git a/codegen/valagvariantmodule.vala b/codegen/valagvariantmodule.vala index 64b653be9..19c145a91 100644 --- a/codegen/valagvariantmodule.vala +++ b/codegen/valagvariantmodule.vala @@ -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"));