e_process: modify E_CLIENT_HOOK_DEL callback function 07/240407/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 6 Aug 2020 05:52:27 +0000 (14:52 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 6 Aug 2020 05:52:31 +0000 (14:52 +0900)
We add code checking ec->reg_ev.add flag.
If this flag is not set, this means e didn't send E_EVENT_CLIENT_REMOVE event.
In this case, we have to remove ec from ec_list in e_process info.

Change-Id: I7acf1e14c90cc76c1fc7dd835e93e2ed6a9e4466

src/bin/e_process.c

index bfa63453ccefbceb6f95bf938eda90c3187ddeef..057d364c93c29974495f7ffc56e8a37ac131df3c 100644 (file)
@@ -370,17 +370,7 @@ _e_process_cb_hook_visibility(void *d EINA_UNUSED, E_Client *ec)
 static void
 _e_process_cb_hook_client_del(void *d EINA_UNUSED, E_Client *ec)
 {
-   Eina_Bool force_remove = EINA_TRUE;
-
-   if ((!ec->new_client) && (!stopping))
-     force_remove = EINA_FALSE;
-   else
-     {
-        if (stopping)
-          force_remove = EINA_FALSE;
-     }
-
-   if (force_remove)
+   if (!ec->reg_ev.add)
      {
         ELOGF("PROCESS", "Delete ec from e_process by hook_del.", ec);
         _e_process_client_info_del(ec);