From 4aae1cbc1c27c65943e354a6eba41e09cc4c8baa Mon Sep 17 00:00:00 2001 From: "Eduardo Lima (Etrunko)" Date: Thu, 26 Sep 2013 15:18:36 -0300 Subject: The return value of config_key_get must be a variant We have to use another iterator inside the reply to pack the actual value Change-Id: I7f4547fb1de3450621aa332ad1caa80f287f7969 Signed-off-by: Eduardo Lima (Etrunko) --- src/wkb-ibus-config-key.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/wkb-ibus-config-key.c b/src/wkb-ibus-config-key.c index 9a12564..9b3d255 100644 --- a/src/wkb-ibus-config-key.c +++ b/src/wkb-ibus-config-key.c @@ -240,9 +240,21 @@ wkb_config_key_set(struct wkb_config_key * key, Eldbus_Message_Iter *iter) Eina_Bool wkb_config_key_get(struct wkb_config_key *key, Eldbus_Message_Iter *reply) { + Eina_Bool ret = EINA_FALSE; + Eldbus_Message_Iter *value; + if (!key->field || !key->get) return EINA_FALSE; - return key->get(key, reply); + value = eldbus_message_iter_container_new(reply, 'v', key->signature); + + if (!(ret = key->get(key, value))) + { + printf("Unexpected error retrieving value for key: '%s'\n", key->id); + } + + eldbus_message_iter_container_close(reply, value); + + return ret; } -- cgit v1.2.3