From 627b49b39039d43a784fa9890f473d1ca8d52417 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 22 Jul 2014 21:29:27 +0200 Subject: [PATCH] gio: Fix regression encoding an array of doubles Take the simple slow path in this case. Encoding a double takes special precautions as you can see in append_value_to_blob() and friends. https://bugzilla.gnome.org/show_bug.cgi?id=732754 --- gio/gdbusmessage.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gio/gdbusmessage.c b/gio/gdbusmessage.c index cd995b8..dcf1758 100644 --- a/gio/gdbusmessage.c +++ b/gio/gdbusmessage.c @@ -1210,6 +1210,11 @@ get_type_fixed_size (const GVariantType *type) { /* NB: we do not treat 'b' as fixed-size here because GVariant and * D-Bus disagree about the size. + * + * In addition 'd' is encoded differently by GVariant and DBus, so + * we force (en|de)coding rather than direct use of fixed data. + * + * https://bugzilla.gnome.org/show_bug.cgi?id=732754 */ switch (*g_variant_type_peek_string (type)) { @@ -1219,7 +1224,7 @@ get_type_fixed_size (const GVariantType *type) return 2; case 'i': case 'u': case 'h': return 4; - case 'x': case 't': case 'd': + case 'x': case 't': return 8; default: return 0; -- 2.7.4