diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c b/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c index 858daa5..2b7e5c5 100644 --- a/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c +++ b/libraries/ecore/src/lib/ecore_con/ecore_con_local_win32.c | |||
@@ -75,9 +75,7 @@ _ecore_con_local_win32_server_read_client_handler(void *data, Ecore_Win32_Handle | |||
75 | free(msg); | 75 | free(msg); |
76 | } | 76 | } |
77 | #endif | 77 | #endif |
78 | if (!cl->delete_me) | 78 | _ecore_con_client_kill(cl); |
79 | ecore_con_event_client_del(cl); | ||
80 | cl->dead = EINA_TRUE; | ||
81 | return ECORE_CALLBACK_CANCEL; | 79 | return ECORE_CALLBACK_CANCEL; |
82 | } | 80 | } |
83 | 81 | ||
@@ -110,9 +108,7 @@ _ecore_con_local_win32_server_peek_client_handler(void *data, Ecore_Win32_Handle | |||
110 | free(msg); | 108 | free(msg); |
111 | } | 109 | } |
112 | #endif | 110 | #endif |
113 | if (!cl->host_server->delete_me) | 111 | _ecore_con_server_kill(cl->host_server); |
114 | ecore_con_event_server_del(cl->host_server); | ||
115 | cl->host_server->dead = EINA_TRUE; | ||
116 | return ECORE_CALLBACK_CANCEL; | 112 | return ECORE_CALLBACK_CANCEL; |
117 | 113 | ||
118 | ecore_main_win32_handler_del(wh); | 114 | ecore_main_win32_handler_del(wh); |
@@ -140,9 +136,7 @@ _ecore_con_local_win32_client_peek_server_handler(void *data, Ecore_Win32_Handle | |||
140 | free(msg); | 136 | free(msg); |
141 | } | 137 | } |
142 | #endif | 138 | #endif |
143 | if (!svr->delete_me) | 139 | _ecore_con_server_kill(svr); |
144 | ecore_con_event_server_del(svr); | ||
145 | svr->dead = EINA_TRUE; | ||
146 | return ECORE_CALLBACK_CANCEL; | 140 | return ECORE_CALLBACK_CANCEL; |
147 | 141 | ||
148 | ecore_main_win32_handler_del(wh); | 142 | ecore_main_win32_handler_del(wh); |
@@ -191,9 +185,7 @@ _ecore_con_local_win32_client_read_server_handler(void *data, Ecore_Win32_Handle | |||
191 | free(msg); | 185 | free(msg); |
192 | } | 186 | } |
193 | #endif | 187 | #endif |
194 | if (!svr->delete_me) | 188 | _ecore_con_server_kill(svr); |
195 | ecore_con_event_server_del(svr); | ||
196 | svr->dead = EINA_TRUE; | ||
197 | return ECORE_CALLBACK_CANCEL; | 189 | return ECORE_CALLBACK_CANCEL; |
198 | } | 190 | } |
199 | 191 | ||
@@ -296,9 +288,6 @@ _ecore_con_local_win32_client_add(void *data, Ecore_Win32_Handler *wh) | |||
296 | if (!svr->pipe) | 288 | if (!svr->pipe) |
297 | return ECORE_CALLBACK_CANCEL; | 289 | return ECORE_CALLBACK_CANCEL; |
298 | 290 | ||
299 | if (svr->dead) | ||
300 | return ECORE_CALLBACK_CANCEL; | ||
301 | |||
302 | if (svr->delete_me) | 291 | if (svr->delete_me) |
303 | return ECORE_CALLBACK_CANCEL; | 292 | return ECORE_CALLBACK_CANCEL; |
304 | 293 | ||
@@ -698,16 +687,14 @@ ecore_con_local_win32_server_flush(Ecore_Con_Server *svr) | |||
698 | ecore_con_event_server_error(svr, msg); | 687 | ecore_con_event_server_error(svr, msg); |
699 | free(msg); | 688 | free(msg); |
700 | } | 689 | } |
701 | if (!svr->delete_me) | 690 | _ecore_con_server_kill(svr); |
702 | ecore_con_event_server_del(svr); | ||
703 | svr->dead = EINA_TRUE; | ||
704 | } | 691 | } |
705 | 692 | ||
706 | svr->write_buf_offset += written; | 693 | svr->write_buf_offset += written; |
707 | if (svr->write_buf_offset >= eina_binbuf_length_get(svr->buf)) | 694 | if (svr->write_buf_offset >= eina_binbuf_length_get(svr->buf)) |
708 | { | 695 | { |
709 | svr->write_buf_offset = 0; | 696 | svr->write_buf_offset = 0; |
710 | eina_binbuf_free(svr->buf); | 697 | eina_binbuf_free(svr->buf); |
711 | svr->buf = NULL; | 698 | svr->buf = NULL; |
712 | svr->want_write = 0; | 699 | svr->want_write = 0; |
713 | } | 700 | } |
@@ -749,9 +736,7 @@ ecore_con_local_win32_client_flush(Ecore_Con_Client *cl) | |||
749 | ecore_con_event_client_error(cl, msg); | 736 | ecore_con_event_client_error(cl, msg); |
750 | free(msg); | 737 | free(msg); |
751 | } | 738 | } |
752 | if (!cl->delete_me) | 739 | _ecore_con_client_kill(cl); |
753 | ecore_con_event_client_del(cl); | ||
754 | cl->dead = EINA_TRUE; | ||
755 | } | 740 | } |
756 | 741 | ||
757 | cl->buf_offset += written; | 742 | cl->buf_offset += written; |