hermet pushed a commit to branch efl-1.15. http://git.enlightenment.org/core/efl.git/commit/?id=6e4fb0cd6643dbaa002c843a20dd80b963c17e63
commit 6e4fb0cd6643dbaa002c843a20dd80b963c17e63 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 7626364..d20a85d 100644 --- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c +++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c @@ -217,9 +217,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 1; } --