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
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);