elm_plug: application is activated, elm_plug need to be reconnected. 33/283533/4
authorHosang Kim <hosang12.kim@samsung.com>
Fri, 28 Oct 2022 06:29:20 +0000 (15:29 +0900)
committerHosang Kim <hosang12.kim@samsung.com>
Thu, 10 Nov 2022 07:25:40 +0000 (16:25 +0900)
Sometimes application is activated but elm_plug's atspi parent is not
changed.

Change-Id: I6089b27af70752442569db870122d3b08adec17a

src/lib/elementary/elm_plug.c

index f602bf0..ce611a5 100644 (file)
@@ -245,6 +245,19 @@ _atspi_bridge_state_changed(void *data, int type EINA_UNUSED, void *event)
 }
 //
 
+//TIZEN_ONLY(20221110): application is activated, elm_plug need to be reconnected
+static void
+_focus_in_cb(void *data, Evas_Object *obj EINA_UNUSED,
+                       void *event_info)
+{
+   if (_elm_config->atspi_mode)
+     {
+       Eo *proxy = (Eo *)data;
+       elm_atspi_bridge_utils_proxy_connect(proxy);
+     }
+}
+//
+
 EOLIAN static Eina_Bool
 _elm_plug_connect(Eo *obj, void *sd EINA_UNUSED, const char *svcname, int svcnum, Eina_Bool svcsys)
 {
@@ -275,6 +288,9 @@ _elm_plug_connect(Eo *obj, void *sd EINA_UNUSED, const char *svcname, int svcnum
 
              efl_event_callback_add(obj, EFL_EVENT_DEL, _on_widget_del, proxy);
              efl_event_callback_add(proxy, ELM_ATSPI_PROXY_EVENT_CONNECTED, _on_proxy_connected_cb, obj);
+            //TIZEN_ONLY(20221110): application is activated, elm_plug need to be reconnected
+             evas_object_smart_callback_add(elm_widget_top_get(obj), "focus,in", _focus_in_cb, proxy);
+            //
 
              if (!elm_atspi_bridge_utils_proxy_connect(proxy))
                {