diff options
author | Eduardo Lima (Etrunko) <eduardo.lima@intel.com> | 2013-09-26 15:18:36 -0300 |
---|---|---|
committer | Eduardo Lima (Etrunko) <eduardo.lima@intel.com> | 2013-09-26 17:33:24 -0300 |
commit | 4aae1cbc1c27c65943e354a6eba41e09cc4c8baa (patch) | |
tree | f1733f70c21dd79067bdffb922904e8171ecbfe6 /src | |
parent | afdf463d0d67e949594166c0159bf22f46991fec (diff) | |
download | weekeyboard-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>
Diffstat (limited to 'src')
-rw-r--r-- | src/wkb-ibus-config-key.c | 14 |
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; } |