diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index 727f5200ab..fd22623b42 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c @@ -989,7 +989,6 @@ 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) { @@ -1061,7 +1060,6 @@ 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, @@ -2397,7 +2395,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) + if ((!e->client->event_count) && (e->client->delete_me)) ecore_con_client_del(e->client); } ecore_con_event_client_del_free(e); @@ -2489,7 +2487,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) + if ((!e->server->event_count) && (e->server->delete_me)) _ecore_con_server_free(e->server); } ecore_con_event_server_del_free(e);