fix writes/flushes with servers for ecore-con

This commit is contained in:
Mike Blumenkrantz 2013-03-14 11:48:05 +00:00
parent dbd044055d
commit 4ab02d7f6b
3 changed files with 18 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2013-03-14 Mike Blumenkrantz
* fix use of ecore_con_*_flush functions with unconnected objects
* fix setting of write flags on ecore-con servers during connect
2013-03-13 Cedric Bail 2013-03-13 Cedric Bail
* Edje: use Eina_Cow to reduce memory usage. * Edje: use Eina_Cow to reduce memory usage.

2
NEWS
View File

@ -197,3 +197,5 @@ Fixes:
* fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state * fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state
* clean up gnutls session initialization * clean up gnutls session initialization
* fix bug not check data value when get deiconify message * fix bug not check data value when get deiconify message
* fix use of ecore_con_*_flush functions with unconnected objects
* fix setting of write flags on ecore-con servers during connect

View File

@ -1821,8 +1821,13 @@ svr_try_connect_plain(Ecore_Con_Server *svr)
ecore_con_event_server_add(svr); ecore_con_event_server_add(svr);
} }
if (svr->fd_handler && (!svr->buf)) if (svr->fd_handler)
ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ); {
if (svr->buf)
ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_WRITE);
else
ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ);
}
if (!svr->delete_me) if (!svr->delete_me)
return ECORE_CON_CONNECTED; return ECORE_CON_CONNECTED;
@ -2258,12 +2263,13 @@ _ecore_con_server_flush(Ecore_Con_Server *svr)
Eina_Binbuf *buf_p; Eina_Binbuf *buf_p;
DBG("(svr=%p,buf=%p)", svr, svr->buf); DBG("(svr=%p,buf=%p)", svr, svr->buf);
if (!svr->fd_handler) return;
#ifdef _WIN32 #ifdef _WIN32
if (ecore_con_local_win32_server_flush(svr)) if (ecore_con_local_win32_server_flush(svr))
return; return;
#endif #endif
if ((!svr->buf) && (!svr->ecs_buf) && svr->fd_handler) if ((!svr->buf) && (!svr->ecs_buf))
{ {
ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ); ecore_main_fd_handler_active_set(svr->fd_handler, ECORE_FD_READ);
return; return;
@ -2361,12 +2367,13 @@ _ecore_con_client_flush(Ecore_Con_Client *cl)
{ {
int num = 0, count = 0; int num = 0, count = 0;
if (!cl->fd_handler) return;
#ifdef _WIN32 #ifdef _WIN32
if (ecore_con_local_win32_client_flush(cl)) if (ecore_con_local_win32_client_flush(cl))
return; return;
#endif #endif
if (!cl->buf && cl->fd_handler) if (!cl->buf)
{ {
ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ); ecore_main_fd_handler_active_set(cl->fd_handler, ECORE_FD_READ);
return; return;