hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=015040d13f1340529cf31ee73d6b25987c23a670

commit 015040d13f1340529cf31ee73d6b25987c23a670
Author: ChunEon Park <her...@hermet.pe.kr>
Date:   Wed Sep 30 20:31:30 2015 +0900

    ecore_win32: fix the mouse out behavior.
    
    Current win32 let the mouse out regardless of mouse down status.
    This is not quitely same with the x system so widget behaviors were not 
properly working.
    Make the widget behaviors about mouse-out same to x window system
    to keep the same behaviors on all window system always.
    
    @fix
---
 src/modules/ecore_evas/engines/win32/ecore_evas_win32.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c 
b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
index b460f16..6216da8 100644
--- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
+++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
@@ -215,9 +215,13 @@ _ecore_evas_win32_event_mouse_out(void *data EINA_UNUSED, 
int type EINA_UNUSED,
 /*    _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
    _ecore_evas_mouse_move_process(ee, e->x, e->y, e->timestamp);
 
-   evas_event_feed_mouse_out(ee->evas, e->timestamp, NULL);
-   if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
-   if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
+   if (ee->in)
+     {
+        if ((evas_event_down_count_get(ee->evas) > 0) return 
ECORE_CALLBACK_PASS_ON;
+        evas_event_feed_mouse_out(ee->evas, e->timestamp, NULL);
+        if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
+        if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
+     }
 
    return ECORE_CALLBACK_PASS_ON;
 }

-- 


Reply via email to