From 00b18f892f71c05a598aa2e927fcf7654804a85d Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 14 Dec 2012 15:07:36 +0100 Subject: gdbus: Deep copy of variants also requires a signature --- gdbus/client.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gdbus/client.c b/gdbus/client.c index 5a6cfdd..7def1f5 100644 --- a/gdbus/client.c +++ b/gdbus/client.c @@ -81,10 +81,15 @@ static void iter_append_iter(DBusMessageIter *base, DBusMessageIter *iter) dbus_message_iter_recurse(iter, &iter_sub); - if (type == DBUS_TYPE_ARRAY) { + switch (type) { + case DBUS_TYPE_ARRAY: + case DBUS_TYPE_VARIANT: sig = dbus_message_iter_get_signature(&iter_sub); - } else + break; + default: sig = NULL; + break; + } dbus_message_iter_open_container(base, type, sig, &base_sub); -- cgit 1.2.3-korg