diff options
Diffstat (limited to 'src/wkb-ibus-config-key.c')
-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; } |