From: Doyoun Kang Date: Thu, 7 May 2020 06:13:36 +0000 (+0900) Subject: processmgr: add E_COMP_OBJECT_HOOK_OBJECT_SETUP hook callback function X-Git-Tag: submit/tizen_5.5/20200507.084851~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=21e4ef2d999afefa48bc4dd915d15066b36c77b9;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-processmgr.git processmgr: add E_COMP_OBJECT_HOOK_OBJECT_SETUP hook callback function We use E_COMP_OBJECT_HOOK_OBJECT_SETUP hook instead of E_EVENT_CLIENT_ADD event to send launch_real,done signal. Change-Id: I3b3dc26465c1d5c70d9e9f0668aafdf73508c8b9 --- diff --git a/src/e_mod_processmgr.c b/src/e_mod_processmgr.c index 5cd045f..d96b0c8 100644 --- a/src/e_mod_processmgr.c +++ b/src/e_mod_processmgr.c @@ -7,6 +7,7 @@ static Eina_List *hooks_ec = NULL; static Eina_List *_e_processmgr_ec_handlers = NULL; static Eina_List *_e_processmgr_wl_hooks = NULL; +static Eina_List *_e_processmgr_comp_hooks = NULL; static Eldbus_Connection *_dbus_conn = NULL; static Eldbus_Service_Interface *_dbus_iface = NULL; @@ -318,11 +319,6 @@ _e_processmgr_cb_client_add(void *data EINA_UNUSED, int type EINA_UNUSED, void * if (!ev) return ECORE_CALLBACK_PASS_ON; ec = ev->ec; - e_comp_object_signal_callback_add(ec->frame, - "e,action,launch_real,done", - "e", - _e_processmgr_cb_launch_done, - ec); return ECORE_CALLBACK_PASS_ON; } @@ -362,6 +358,18 @@ _e_processmgr_cb_client_reuse(void *data EINA_UNUSED, E_Client *ec) ec); } +static Eina_Bool +_e_processmgr_cb_comp_obj_setup(void *data, E_Client *ec) +{ + e_comp_object_signal_callback_add(ec->frame, + "e,action,launch_real,done", + "e", + _e_processmgr_cb_launch_done, + ec); + + return EINA_TRUE; +} + static Eina_Bool _dbus_init(void) { @@ -434,6 +442,7 @@ e_mod_processmgr_init(void) E_LIST_HANDLER_APPEND(_e_processmgr_ec_handlers, E_EVENT_CLIENT_REMOVE, _e_processmgr_cb_client_remove, NULL); E_COMP_WL_HOOK_APPEND(_e_processmgr_wl_hooks, E_COMP_WL_HOOK_CLIENT_REUSE, _e_processmgr_cb_client_reuse, NULL); + E_COMP_COMP_HOOK_APPEND(_e_processmgr_comp_hooks, E_COMP_OBJECT_HOOK_OBJECT_SETUP, _e_processmgr_cb_comp_obj_setup, NULL); return EINA_TRUE; @@ -467,6 +476,7 @@ e_mod_processmgr_shutdown(void) _dbus_iface = NULL; _dbus_conn = NULL; + E_FREE_LIST(_e_processmgr_comp_hooks, e_comp_object_hook_del); E_FREE_LIST(_e_processmgr_wl_hooks, e_comp_wl_hook_del); E_FREE_LIST(_e_processmgr_ec_handlers, ecore_event_handler_del); EINA_LIST_FREE(hooks_ec, hook)