summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-09-26 15:18:36 -0300
committerEduardo Lima (Etrunko) <eduardo.lima@intel.com>2013-09-26 17:33:24 -0300
commit4aae1cbc1c27c65943e354a6eba41e09cc4c8baa (patch)
treef1733f70c21dd79067bdffb922904e8171ecbfe6
parentafdf463d0d67e949594166c0159bf22f46991fec (diff)
downloadweekeyboard-4aae1cbc1c27c65943e354a6eba41e09cc4c8baa.tar.gz
weekeyboard-4aae1cbc1c27c65943e354a6eba41e09cc4c8baa.tar.bz2
weekeyboard-4aae1cbc1c27c65943e354a6eba41e09cc4c8baa.zip
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) <eduardo.lima@intel.com>
-rw-r--r--src/wkb-ibus-config-key.c14
1 files changed, 13 insertions, 1 deletions
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;
}