lorddrew pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=518910990c4ece24e963dc0ded88f6b8c2b2fb8e

commit 518910990c4ece24e963dc0ded88f6b8c2b2fb8e
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Fri Dec 9 15:59:44 2016 +0200

    ethumb_slave: fix work on Windows
    
    Ecore_Fd_Handler doesn't work on Windows as expected.
    Replaced it with Ecore_Win32_Handler on Windows.
---
 src/bin/ethumb_client/ethumbd_slave.c | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/src/bin/ethumb_client/ethumbd_slave.c 
b/src/bin/ethumb_client/ethumbd_slave.c
index 735c8c3..09efff5 100644
--- a/src/bin/ethumb_client/ethumbd_slave.c
+++ b/src/bin/ethumb_client/ethumbd_slave.c
@@ -47,7 +47,12 @@ static int _log_domain = -1;
 
 struct _Ethumbd_Child
 {
+#ifndef _WIN32
    Ecore_Fd_Handler *fd_handler;
+#else
+   Ecore_Win32_Handler *fd_handler;
+#endif
+
    Ethumb *ethumbt[NETHUMBS];
 };
 
@@ -171,7 +176,13 @@ _ec_free(struct _Ethumbd_Child *ec)
    int i;
 
    if (ec->fd_handler)
+     {
+#ifndef _WIN32
      ecore_main_fd_handler_del(ec->fd_handler);
+#else
+     ecore_main_win32_handler_del(ec->fd_handler);
+#endif
+     }
 
    for (i = 0; i < NETHUMBS; i++)
      {
@@ -694,13 +705,19 @@ _ec_op_setup(struct _Ethumbd_Child *ec)
    return 1;
 }
 
+#ifndef _WIN32
 static Eina_Bool
 _ec_fd_handler(void *data, Ecore_Fd_Handler *fd_handler)
+#else
+static Eina_Bool
+_ec_fd_handler(void *data, Ecore_Win32_Handler *fd_handler EINA_UNUSED)
+#endif
 {
    struct _Ethumbd_Child *ec = data;
    int op_id;
    int r;
 
+#ifndef _WIN32
    if (ecore_main_fd_handler_active_get(fd_handler, ECORE_FD_ERROR))
      {
        ERR("error on pipein! child exiting...");
@@ -708,6 +725,7 @@ _ec_fd_handler(void *data, Ecore_Fd_Handler *fd_handler)
        ecore_main_loop_quit();
        return 0;
      }
+#endif
 
    r = _ec_read_safe(STDIN_FILENO, &op_id, sizeof(op_id));
    if (!r)
@@ -752,9 +770,15 @@ _ec_fd_handler(void *data, Ecore_Fd_Handler *fd_handler)
 static void
 _ec_setup(struct _Ethumbd_Child *ec)
 {
+#ifndef _WIN32
    ec->fd_handler = ecore_main_fd_handler_add(
       STDIN_FILENO, ECORE_FD_READ | ECORE_FD_ERROR,
       _ec_fd_handler, ec, NULL, NULL);
+#else
+   ec->fd_handler = ecore_main_win32_handler_add(
+      GetStdHandle(STD_INPUT_HANDLE),
+      _ec_fd_handler, ec);
+#endif
 }
 
 int

-- 


Reply via email to