From: Shinwoo Kim Date: Tue, 13 Jun 2017 09:18:03 +0000 (+0900) Subject: atspi: Make socket listen if atspi is enabled X-Git-Tag: submit/tizen_3.0/20170705.022822~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7082d08d3936b96755756d1bacfa320e2ac62bfd;p=platform%2Fupstream%2Felementary.git atspi: Make socket listen if atspi is enabled The socket proxy try to listen if the atspi is not enabled. So it elm_atspi_bridge_utils_proxy_listen returns with out creating socket interface(_socket_ifc_create) because it checks return value of _elm_atspi_bridge_get which is used in _elm_atspi_enabled also. Change-Id: Ie7a929d53ca9cc90e089f6a167b0480fc041c5af --- diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index ed9bdf396..4fe75259a 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -6679,7 +6679,7 @@ static Eina_List *_lines_split(Eina_List *children) evas_object_geometry_get(c, NULL, &y, NULL, &h); /* remove child if its height == 0 */ - if (h == 0) continue; + if (h == 0 && !eo_isa(c, ELM_ATSPI_PROXY_CLASS)) continue; if ((yl + (int)(0.25 * hl)) >= y) { diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index a2f6dd656..90b5eae2b 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -1787,6 +1787,28 @@ _deferred_ecore_evas_free(void *data) _elm_win_deferred_free--; } +//TIZEN_ONLY(20170613) -listen if atspi is enabled +static void +_atspi_socket_proxy_listen(Eo * obj) +{ + ELM_WIN_DATA_GET(obj, sd); + + const char *plug_id; + plug_id = evas_object_data_get(obj, "___PLUGID"); + if ((plug_id) != NULL) + { + char *svcname, *svcnum; + if (!sd->socket_proxy && _elm_atspi_bridge_plug_id_split(plug_id, &svcname, &svcnum)) + { + sd->socket_proxy = _elm_atspi_bridge_utils_proxy_create(obj, svcname, atoi(svcnum), ELM_ATSPI_PROXY_TYPE_SOCKET); + elm_atspi_bridge_utils_proxy_listen(sd->socket_proxy); + free(svcname); + free(svcnum); + } + } +} +// + EOLIAN static void _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd) { @@ -1816,21 +1838,11 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd) } // TIZEN_ONLY(20160705) - enable atspi_proxy to work - /* _elm_atspi_enabled() is not necessary, because it could be disconnected at this point */ - if (_elm_config->atspi_mode) + if (_elm_atspi_enabled()) { - const char *plug_id_2; - if ((plug_id_2 = evas_object_data_get(obj, "___PLUGID")) != NULL) - { - char *svcname, *svcnum; - if (!sd->socket_proxy && _elm_atspi_bridge_plug_id_split(plug_id_2, &svcname, &svcnum)) - { - sd->socket_proxy = _elm_atspi_bridge_utils_proxy_create(obj, svcname, atoi(svcnum), ELM_ATSPI_PROXY_TYPE_SOCKET); - elm_atspi_bridge_utils_proxy_listen(sd->socket_proxy); - free(svcname); - free(svcnum); - } - } + //TIZEN_ONLY(20170613) -listen if atspi is enabled + _atspi_socket_proxy_listen(obj); + // } // @@ -3017,6 +3029,12 @@ _elm_win_screen_reader(Eina_Bool is_screen_reader) { eo_do(obj, elm_interface_atspi_component_highlight_clear()); } + //TIZEN_ONLY(20170613) -listen if atspi is enabled + else + { + _atspi_socket_proxy_listen(obj); + } + // } } //