fix a Heroes of SVN-level breakage from 66068 which prevented all ecore-con fds from...
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 20 Dec 2011 06:22:30 +0000 (06:22 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 20 Dec 2011 06:22:30 +0000 (06:22 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@66362 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore_con/ecore_con.c

index fd22623..727f520 100644 (file)
@@ -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);