diff options
author | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2015-06-24 11:13:54 +0200 |
---|---|---|
committer | Lukasz Stanislawski <l.stanislaws@samsung.com> | 2015-06-29 09:15:53 +0200 |
commit | ac7be77499b71258ba8098f8d307c96a8aa5194a (patch) | |
tree | 221a7a79db1a703a4c01d04256fe8af06e8c5db7 | |
parent | cf4bc136d36e3134d88492a811f1a52c4ca89aa3 (diff) | |
download | elementary-ac7be77499b71258ba8098f8d307c96a8aa5194a.tar.gz |
atspi: cache update fix
Change-Id: Id374647438a434aacb652e584c1df2ec3ed3b8e1
-rw-r--r-- | src/lib/elm_atspi_bridge.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c index 979488b41..028d3d17a 100644 --- a/src/lib/elm_atspi_bridge.c +++ b/src/lib/elm_atspi_bridge.c @@ -3114,8 +3114,17 @@ static void _bridge_object_unregister(Eo *bridge, Eo *obj) { char *path; + Eldbus_Message *sig; + ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); + sig = eldbus_service_signal_new(pd->cache_interface, ATSPI_OBJECT_CHILD_REMOVED); + Eldbus_Message_Iter *iter = eldbus_message_iter_get(sig); + + _iter_object_reference_append(iter, obj); + + eldbus_service_signal_send(pd->cache_interface, sig); + path = _bridge_path_from_access_object(bridge, obj); eina_hash_del(pd->cache, path, obj); free(path); @@ -3346,6 +3355,7 @@ _screen_reader_enabled_get(void *data, const Eldbus_Message *msg, Eldbus_Pending static void _bridge_object_register(Eo *bridge, Eo *obj) { char *path; + Eldbus_Message *sig; ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); @@ -3378,6 +3388,11 @@ static void _bridge_object_register(Eo *bridge, Eo *obj) if (eo_isa(obj, ELM_INTERFACE_ATSPI_TEXT_INTERFACE)) eo_do(obj, eo_event_callback_array_add(_text_cb(), bridge)); + sig = eldbus_service_signal_new(pd->cache_interface, ATSPI_OBJECT_CHILD_ADDED); + Eldbus_Message_Iter *iter = eldbus_message_iter_get(sig); + _append_item_fn(NULL, NULL, obj, iter); + + eldbus_service_signal_send(pd->cache_interface, sig); free(path); } |