summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-06-16 15:03:09 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-06-16 12:49:33 -0400
commitdc9ebdd7066a7e7e5dbf8fd01eb019d3ee7f9336 (patch)
tree3c18181cdd999b5dced51721b99b3b439ffe7fcf
parenta3d0af0069dfdd66fd97d8bea90e6150625430e6 (diff)
downloadefl-dc9ebdd7066a7e7e5dbf8fd01eb019d3ee7f9336.tar.gz
evas: Always send mouse,move after mouse,in to objects
Fixes T5582
-rw-r--r--src/lib/evas/canvas/evas_events.c21
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;