From 440210126b59ef9020612e17c6bdc320891a4b47 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 14 Dec 2012 15:07:36 +0100 Subject: [PATCH] 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 5a6cfdde2..7def1f572 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); -- 2.47.3