summaryrefslogtreecommitdiff
path: root/src/modules/ecore_evas/engines/win32
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2015-09-30 20:31:30 +0900
committerChunEon Park <hermet@hermet.pe.kr>2015-09-30 20:31:30 +0900
commit015040d13f1340529cf31ee73d6b25987c23a670 (patch)
tree3c2ce531c80a6495f09710d0063f18c16e58f8c4 /src/modules/ecore_evas/engines/win32
parent882e29b9ae73a3c9df62efb18b9cdf2546e73143 (diff)
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
Diffstat (limited to 'src/modules/ecore_evas/engines/win32')
-rw-r--r--src/modules/ecore_evas/engines/win32/ecore_evas_win32.c10
1 files 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 b460f168b7..6216da851d 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,
215/* _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */ 215/* _ecore_evas_x_modifier_locks_update(ee, e->modifiers); */
216 _ecore_evas_mouse_move_process(ee, e->x, e->y, e->timestamp); 216 _ecore_evas_mouse_move_process(ee, e->x, e->y, e->timestamp);
217 217
218 evas_event_feed_mouse_out(ee->evas, e->timestamp, NULL); 218 if (ee->in)
219 if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee); 219 {
220 if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object); 220 if ((evas_event_down_count_get(ee->evas) > 0) return ECORE_CALLBACK_PASS_ON;
221 evas_event_feed_mouse_out(ee->evas, e->timestamp, NULL);
222 if (ee->func.fn_mouse_out) ee->func.fn_mouse_out(ee);
223 if (ee->prop.cursor.object) evas_object_hide(ee->prop.cursor.object);
224 }
221 225
222 return ECORE_CALLBACK_PASS_ON; 226 return ECORE_CALLBACK_PASS_ON;
223} 227}