Ecore con server: Fix destructor to call super correctly.
authorTom Hacohen <tom@stosb.com>
Fri, 29 Aug 2014 09:07:14 +0000 (10:07 +0100)
committerTom Hacohen <tom@stosb.com>
Fri, 29 Aug 2014 09:26:23 +0000 (10:26 +0100)
src/lib/ecore_con/ecore_con.c

index b915897..ace1ef4 100644 (file)
@@ -1283,7 +1283,7 @@ _ecore_con_server_eo_base_destructor(Eo *obj, Ecore_Con_Server_Data *svr)
    Ecore_Con_Client *cl_obj;
    double t_start, t;
 
-   if (svr->event_count) return;
+   if (svr->event_count) goto end;
 
    while (svr->infos)
      {
@@ -1309,7 +1309,7 @@ _ecore_con_server_eo_base_destructor(Eo *obj, Ecore_Con_Server_Data *svr)
 #ifdef _WIN32
    ecore_con_local_win32_server_del(obj);
 #endif
-   if (svr->event_count) return;
+   if (svr->event_count) goto end;
 
    if (svr->buf)
      eina_binbuf_free(svr->buf);
@@ -1352,6 +1352,7 @@ _ecore_con_server_eo_base_destructor(Eo *obj, Ecore_Con_Server_Data *svr)
    servers = eina_list_remove(servers, obj);
    svr->data = NULL;
 
+end:
    eo_do_super(obj, ECORE_CON_SERVER_CLASS, eo_destructor());
 }