diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index fd22623b42..727f5200ab 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c @@ -989,6 +989,7 @@ ecore_con_event_server_del(Ecore_Con_Server *svr) svr->event_count = eina_list_append(svr->event_count, e); _ecore_con_server_timer_update(svr); + svr->delete_me = EINA_TRUE; e->server = svr; if (svr->ecs) { @@ -1060,6 +1061,7 @@ ecore_con_event_client_add(Ecore_Con_Client *cl) cl->event_count = eina_list_append(cl->event_count, e); cl->host_server->event_count = eina_list_append(cl->host_server->event_count, e); _ecore_con_cl_timer_update(cl); + cl->delete_me = EINA_TRUE; e->client = cl; if (cl->upgrade) ev = ECORE_CON_EVENT_CLIENT_UPGRADE; ecore_event_add(ev, e, @@ -2395,7 +2397,7 @@ _ecore_con_event_client_del_free(Ecore_Con_Server *svr, if ((!svr->event_count) && (svr->delete_me)) _ecore_con_server_free(svr); } - if ((!e->client->event_count) && (e->client->delete_me)) + if (!e->client->event_count) ecore_con_client_del(e->client); } ecore_con_event_client_del_free(e); @@ -2487,7 +2489,7 @@ _ecore_con_event_server_del_free(void *data __UNUSED__, if (e->server) { e->server->event_count = eina_list_remove(e->server->event_count, ev); - if ((!e->server->event_count) && (e->server->delete_me)) + if (!e->server->event_count) _ecore_con_server_free(e->server); } ecore_con_event_server_del_free(e);