diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-06-16 15:03:09 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-06-16 12:49:33 -0400 |
commit | dc9ebdd7066a7e7e5dbf8fd01eb019d3ee7f9336 (patch) | |
tree | 3c18181cdd999b5dced51721b99b3b439ffe7fcf | |
parent | a3d0af0069dfdd66fd97d8bea90e6150625430e6 (diff) | |
download | efl-dc9ebdd7066a7e7e5dbf8fd01eb019d3ee7f9336.tar.gz |
evas: Always send mouse,move after mouse,in to objects
Fixes T5582
-rw-r--r-- | src/lib/evas/canvas/evas_events.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index 075bc94a17..82a040765c 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -738,6 +738,9 @@ _evas_event_source_mouse_move_events(Evas_Object *eo_obj, Evas *eo_e, ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, evt, event_id2, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id2, EFL_EVENT_POINTER_MOVE); if (e->delete_me) break; } } @@ -1218,8 +1221,12 @@ _evas_event_source_mouse_in_events(Evas_Object *eo_obj, Evas *eo_e, obj_pdata->mouse_in = 1; ev->cur = point; _evas_event_havemap_adjust_f(eo_child, child, &ev->cur, obj_pdata->mouse_grabbed); + ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_IN, evt, event_id, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_child, child, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id, EFL_EVENT_POINTER_MOVE); if (e->delete_me || e->is_frozen) break; } } @@ -1648,8 +1655,12 @@ _post_up_handle(Evas_Public_Data *e, Efl_Input_Pointer *parent_ev, ev->cur.x = pdata->seat->x; ev->cur.y = pdata->seat->y; _evas_event_havemap_adjust_f(eo_obj_itr, obj_itr, &ev->cur, obj_pdata->mouse_grabbed); + ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_obj_itr, obj_itr, EVAS_CALLBACK_MOUSE_IN, evt, event_id, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_obj_itr, obj_itr, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id, EFL_EVENT_POINTER_MOVE); if ((obj_itr->proxy->is_proxy) && (obj_itr->proxy->src_events)) _evas_event_source_mouse_in_events(eo_obj_itr, eo_e, evt, event_id); @@ -2276,6 +2287,9 @@ _canvas_event_feed_mouse_move_internal(Evas_Public_Data *e, Efl_Input_Pointer_Da ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt, event_id, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id, EFL_EVENT_POINTER_MOVE); if ((obj->proxy->is_proxy) && (obj->proxy->src_events)) _evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id); @@ -2412,6 +2426,9 @@ nogrep: ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt, event_id, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id, EFL_EVENT_POINTER_MOVE); if ((obj->proxy->is_proxy) && (obj->proxy->src_events)) _evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id); if (e->delete_me) break; @@ -2541,8 +2558,12 @@ _canvas_event_feed_mouse_in_internal(Evas *eo_e, Efl_Input_Pointer_Data *ev) ev->cur.x = pdata->seat->x; ev->cur.y = pdata->seat->y; _evas_event_havemap_adjust_f(eo_obj, obj, &ev->cur, obj_pdata->mouse_grabbed); + ev->action = EFL_POINTER_ACTION_IN; evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_IN, evt, event_id, EFL_EVENT_POINTER_IN); + ev->action = EFL_POINTER_ACTION_MOVE; + evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, evt, + event_id, EFL_EVENT_POINTER_MOVE); if ((obj->proxy->is_proxy) && (obj->proxy->src_events)) _evas_event_source_mouse_in_events(eo_obj, eo_e, evt, event_id); if (e->delete_me || e->is_frozen) break; |