summaryrefslogtreecommitdiff
path: root/legacy/evas/src/lib
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2012-10-25 04:03:06 +0000
committerChunEon Park <hermet@hermet.pe.kr>2012-10-25 04:03:06 +0000
commit2de9c7a47bab8e3e8743c62f72c5091ad92330d6 (patch)
treeb30974e625a138653bdeaea7f23073d8a8647268 /legacy/evas/src/lib
parent3519c6e92e7c93ef649751a01f3237ace56d0bdf (diff)
evas/event - optimize to not transform coordinates again in map enabled case.
SVN revision: 78415
Diffstat (limited to 'legacy/evas/src/lib')
-rw-r--r--legacy/evas/src/lib/canvas/evas_events.c87
1 files changed, 54 insertions, 33 deletions
diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c
index a13523e..c45cf44 100644
--- a/legacy/evas/src/lib/canvas/evas_events.c
+++ b/legacy/evas/src/lib/canvas/evas_events.c
@@ -158,7 +158,7 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in,
158} 158}
159 159
160static void 160static void
161_evas_object_source_events(Evas_Object *eo_obj, Evas *eo_e, Evas_Callback_Type type, void *ev, int event_id) 161_evas_object_source_events(Evas_Object *eo_obj, Evas *eo_e, Evas_Coord x, Evas_Coord y, Evas_Callback_Type type, void *ev, int event_id)
162{ 162{
163 Evas_Object_Protected_Data *obj = eo_data_get(eo_obj, EVAS_OBJ_CLASS); 163 Evas_Object_Protected_Data *obj = eo_data_get(eo_obj, EVAS_OBJ_CLASS);
164 Evas_Object *src_eo = _evas_object_image_source_get(eo_obj); 164 Evas_Object *src_eo = _evas_object_image_source_get(eo_obj);
@@ -169,22 +169,18 @@ _evas_object_source_events(Evas_Object *eo_obj, Evas *eo_e, Evas_Callback_Type t
169 Evas_Coord h1 = obj->cur.geometry.h; 169 Evas_Coord h1 = obj->cur.geometry.h;
170 Evas_Coord w2 = src->cur.geometry.w; 170 Evas_Coord w2 = src->cur.geometry.w;
171 Evas_Coord h2 = src->cur.geometry.h; 171 Evas_Coord h2 = src->cur.geometry.h;
172 Evas_Coord tx;
173 Evas_Coord ty;
174 172
175 if (obj->cur.usemap && obj->cur.map) 173 x -= obj->cur.geometry.x;
176 evas_map_coords_get(obj->cur.map, e->pointer.x, e->pointer.y, &tx, &ty, 0); 174 y -= obj->cur.geometry.y;
177 else 175
178 { 176 if (w1 != w2) x = (Evas_Coord) ((float)x * ((float)w2 / (float)w1));
179 tx = e->pointer.x - obj->cur.geometry.x; 177 if (h1 != h2) y = (Evas_Coord) ((float)y * ((float)w2 / (float)w1));
180 ty = e->pointer.y - obj->cur.geometry.y;
181 }
182 178
183 if (w1 != w2) tx = (Evas_Coord) ((float)tx * ((float)w2 / (float)w1)); 179 x += src->cur.geometry.x;
184 if (h1 != h2) ty = (Evas_Coord) ((float)ty * ((float)w2 / (float)w1)); 180 y += src->cur.geometry.y;
185 tx += src->cur.geometry.x;
186 ty += src->cur.geometry.y;
187 181
182 //FIXME: handle for key events and hold
183 //FIXME: If the src doesn't have geometry info
188 if (src->is_smart) 184 if (src->is_smart)
189 { 185 {
190 Eina_List *in = NULL, *l = NULL; 186 Eina_List *in = NULL, *l = NULL;
@@ -193,7 +189,7 @@ _evas_object_source_events(Evas_Object *eo_obj, Evas *eo_e, Evas_Callback_Type t
193 int no_rep = 0; 189 int no_rep = 0;
194 //Optimize Here: Keep this list in proxy image for up and move 190 //Optimize Here: Keep this list in proxy image for up and move
195 in = _evas_event_object_list_raw_in_get(eo_e, in, 191 in = _evas_event_object_list_raw_in_get(eo_e, in,
196 evas_object_smart_members_get_direct(src_eo), NULL, tx, ty, &no_rep, EINA_TRUE); 192 evas_object_smart_members_get_direct(src_eo), NULL, x, y, &no_rep, EINA_TRUE);
197 EINA_LIST_FOREACH(in, l, child_eo) 193 EINA_LIST_FOREACH(in, l, child_eo)
198 { 194 {
199 if (obj->delete_me || src->delete_me) return; 195 if (obj->delete_me || src->delete_me) return;
@@ -211,10 +207,10 @@ _evas_object_source_events(Evas_Object *eo_obj, Evas *eo_e, Evas_Callback_Type t
211} 207}
212 208
213static inline void 209static inline void
214_evas_event_pass_to_source(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas *eo_e, Evas_Callback_Type type, void *ev, int event_id) 210_evas_event_pass_to_source(Evas_Object *eo_obj, Evas_Object_Protected_Data *obj, Evas *eo_e, Evas_Coord x, Evas_Coord y, Evas_Callback_Type type, void *ev, int event_id)
215{ 211{
216 if (obj->proxy.is_proxy && obj->proxy.source_events) 212 if (obj->proxy.is_proxy && obj->proxy.source_events)
217 _evas_object_source_events(eo_obj, eo_e, type, ev, event_id); 213 _evas_object_source_events(eo_obj, eo_e, x, y, type, ev, event_id);
218} 214}
219 215
220static Eina_List * 216static Eina_List *
@@ -478,9 +474,9 @@ _canvas_event_feed_mouse_down(Eo *eo_e, void *_pd, va_list *list)
478 evas_object_event_callback_call(eo_obj, obj, 474 evas_object_event_callback_call(eo_obj, obj,
479 EVAS_CALLBACK_MOUSE_DOWN, &ev, 475 EVAS_CALLBACK_MOUSE_DOWN, &ev,
480 event_id); 476 event_id);
481 _evas_event_pass_to_source(eo_obj, obj, eo_e, 477 _evas_event_pass_to_source(eo_obj, obj, eo_e, ev.canvas.x,
482 EVAS_CALLBACK_MOUSE_DOWN, &ev, 478 ev.canvas.y, EVAS_CALLBACK_MOUSE_DOWN,
483 event_id); 479 &ev, event_id);
484 } 480 }
485 if (e->delete_me) break; 481 if (e->delete_me) break;
486 if (obj->pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN) 482 if (obj->pointer_mode == EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN)
@@ -544,6 +540,7 @@ _post_up_handle(Evas *eo_e, unsigned int timestamp, const void *data)
544 EVAS_CALLBACK_MOUSE_OUT, 540 EVAS_CALLBACK_MOUSE_OUT,
545 &ev, event_id); 541 &ev, event_id);
546 _evas_event_pass_to_source(eo_obj, obj, eo_e, 542 _evas_event_pass_to_source(eo_obj, obj, eo_e,
543 ev.canvas.x, ev.canvas.y,
547 EVAS_CALLBACK_MOUSE_OUT, &ev, 544 EVAS_CALLBACK_MOUSE_OUT, &ev,
548 event_id); 545 event_id);
549 } 546 }
@@ -590,7 +587,8 @@ _post_up_handle(Evas *eo_e, unsigned int timestamp, const void *data)
590 evas_object_event_callback_call(eo_obj_itr, obj_itr, 587 evas_object_event_callback_call(eo_obj_itr, obj_itr,
591 EVAS_CALLBACK_MOUSE_IN, &ev_in, event_id); 588 EVAS_CALLBACK_MOUSE_IN, &ev_in, event_id);
592 _evas_event_pass_to_source(eo_obj_itr, obj_itr, 589 _evas_event_pass_to_source(eo_obj_itr, obj_itr,
593 eo_e, 590 eo_e, ev_in.canvas.x,
591 ev_in.canvas.y,
594 EVAS_CALLBACK_MOUSE_IN, 592 EVAS_CALLBACK_MOUSE_IN,
595 &ev, event_id); 593 &ev, event_id);
596 594
@@ -703,6 +701,7 @@ _canvas_event_feed_mouse_up(Eo *eo_e, void *_pd, va_list *list)
703 EVAS_CALLBACK_MOUSE_UP, 701 EVAS_CALLBACK_MOUSE_UP,
704 &ev, event_id); 702 &ev, event_id);
705 _evas_event_pass_to_source(eo_obj, obj, eo_e, 703 _evas_event_pass_to_source(eo_obj, obj, eo_e,
704 ev.canvas.x, ev.canvas.y,
706 EVAS_CALLBACK_MOUSE_UP, 705 EVAS_CALLBACK_MOUSE_UP,
707 &ev, event_id); 706 &ev, event_id);
708 } 707 }
@@ -826,8 +825,8 @@ _canvas_event_feed_mouse_wheel(Eo *eo_e, void *_pd, va_list *list)
826 evas_object_event_callback_call(eo_obj, obj, 825 evas_object_event_callback_call(eo_obj, obj,
827 EVAS_CALLBACK_MOUSE_WHEEL, &ev, 826 EVAS_CALLBACK_MOUSE_WHEEL, &ev,
828 event_id); 827 event_id);
829 _evas_event_pass_to_source(eo_obj, obj, eo_e, 828 _evas_event_pass_to_source(eo_obj, obj, eo_e, ev.canvas.x,
830 EVAS_CALLBACK_MOUSE_WHEEL, 829 ev.canvas.y, EVAS_CALLBACK_MOUSE_WHEEL,
831 &ev, event_id); 830 &ev, event_id);
832 } 831 }
833 if (e->delete_me) break; 832 if (e->delete_me) break;
@@ -935,6 +934,8 @@ _canvas_event_feed_mouse_move(Eo *eo_e, void *_pd, va_list *list)
935 evas_object_event_callback_call(eo_obj, obj, 934 evas_object_event_callback_call(eo_obj, obj,
936 EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id); 935 EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id);
937 _evas_event_pass_to_source(eo_obj, obj, eo_e, 936 _evas_event_pass_to_source(eo_obj, obj, eo_e,
937 ev.cur.canvas.x,
938 ev.cur.canvas.y,
938 EVAS_CALLBACK_MOUSE_MOVE, 939 EVAS_CALLBACK_MOUSE_MOVE,
939 &ev, event_id); 940 &ev, event_id);
940 } 941 }
@@ -1000,6 +1001,8 @@ _canvas_event_feed_mouse_move(Eo *eo_e, void *_pd, va_list *list)
1000 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); 1001 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id);
1001 _evas_event_pass_to_source(eo_obj, obj, 1002 _evas_event_pass_to_source(eo_obj, obj,
1002 eo_e, 1003 eo_e,
1004 ev.canvas.x,
1005 ev.canvas.y,
1003 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); 1006 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id);
1004 } 1007 }
1005 } 1008 }
@@ -1094,6 +1097,8 @@ _canvas_event_feed_mouse_move(Eo *eo_e, void *_pd, va_list *list)
1094 _evas_event_havemap_adjust(eo_obj, obj, &ev.cur.canvas.x, &ev.cur.canvas.y, obj->mouse_grabbed); 1097 _evas_event_havemap_adjust(eo_obj, obj, &ev.cur.canvas.x, &ev.cur.canvas.y, obj->mouse_grabbed);
1095 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id); 1098 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id);
1096 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1099 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1100 ev.cur.canvas.x,
1101 ev.cur.canvas.y,
1097 EVAS_CALLBACK_MOUSE_MOVE, &ev, 1102 EVAS_CALLBACK_MOUSE_MOVE, &ev,
1098 event_id); 1103 event_id);
1099 } 1104 }
@@ -1113,6 +1118,8 @@ _canvas_event_feed_mouse_move(Eo *eo_e, void *_pd, va_list *list)
1113 evas_object_event_callback_call(eo_obj, obj, 1118 evas_object_event_callback_call(eo_obj, obj,
1114 EVAS_CALLBACK_MOUSE_OUT, &ev2, event_id); 1119 EVAS_CALLBACK_MOUSE_OUT, &ev2, event_id);
1115 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1120 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1121 ev2.canvas.x,
1122 ev2.canvas.y,
1116 EVAS_CALLBACK_MOUSE_OUT, 1123 EVAS_CALLBACK_MOUSE_OUT,
1117 &ev2, event_id); 1124 &ev2, event_id);
1118 } 1125 }
@@ -1145,6 +1152,8 @@ _canvas_event_feed_mouse_move(Eo *eo_e, void *_pd, va_list *list)
1145 evas_object_event_callback_call(eo_obj, obj, 1152 evas_object_event_callback_call(eo_obj, obj,
1146 EVAS_CALLBACK_MOUSE_IN, &ev3, event_id2); 1153 EVAS_CALLBACK_MOUSE_IN, &ev3, event_id2);
1147 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1154 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1155 ev3.canvas.x,
1156 ev3.canvas.y,
1148 EVAS_CALLBACK_MOUSE_IN, 1157 EVAS_CALLBACK_MOUSE_IN,
1149 &ev3, event_id2); 1158 &ev3, event_id2);
1150 } 1159 }
@@ -1284,6 +1293,8 @@ nogrep:
1284 _evas_event_havemap_adjust(eo_obj, obj, &ev.cur.canvas.x, &ev.cur.canvas.y, obj->mouse_grabbed); 1293 _evas_event_havemap_adjust(eo_obj, obj, &ev.cur.canvas.x, &ev.cur.canvas.y, obj->mouse_grabbed);
1285 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id); 1294 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id);
1286 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1295 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1296 ev.cur.canvas.x,
1297 ev.cur.canvas.y,
1287 EVAS_CALLBACK_MOUSE_MOVE, 1298 EVAS_CALLBACK_MOUSE_MOVE,
1288 &ev, event_id); 1299 &ev, event_id);
1289 } 1300 }
@@ -1303,6 +1314,8 @@ nogrep:
1303 evas_object_event_callback_call(eo_obj, obj, 1314 evas_object_event_callback_call(eo_obj, obj,
1304 EVAS_CALLBACK_MOUSE_OUT, &ev2, event_id); 1315 EVAS_CALLBACK_MOUSE_OUT, &ev2, event_id);
1305 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1316 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1317 ev2.canvas.x,
1318 ev2.canvas.y,
1306 EVAS_CALLBACK_MOUSE_OUT, 1319 EVAS_CALLBACK_MOUSE_OUT,
1307 &ev2, event_id); 1320 &ev2, event_id);
1308 } 1321 }
@@ -1335,6 +1348,8 @@ nogrep:
1335 evas_object_event_callback_call(eo_obj, obj, 1348 evas_object_event_callback_call(eo_obj, obj,
1336 EVAS_CALLBACK_MOUSE_IN, &ev3, event_id2); 1349 EVAS_CALLBACK_MOUSE_IN, &ev3, event_id2);
1337 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1350 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1351 ev3.canvas.x,
1352 ev3.canvas.y,
1338 EVAS_CALLBACK_MOUSE_IN, 1353 EVAS_CALLBACK_MOUSE_IN,
1339 &ev3, event_id2); 1354 &ev3, event_id2);
1340 } 1355 }
@@ -1420,6 +1435,7 @@ _canvas_event_feed_mouse_in(Eo *eo_e, void *_pd, va_list *list)
1420 EVAS_CALLBACK_MOUSE_IN, 1435 EVAS_CALLBACK_MOUSE_IN,
1421 &ev, event_id); 1436 &ev, event_id);
1422 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1437 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1438 ev.canvas.x, ev.canvas.y,
1423 EVAS_CALLBACK_MOUSE_IN, 1439 EVAS_CALLBACK_MOUSE_IN,
1424 &ev, event_id); 1440 &ev, event_id);
1425 } 1441 }
@@ -1503,6 +1519,7 @@ _canvas_event_feed_mouse_out(Eo *eo_e, void *_pd, va_list *list)
1503 evas_object_event_callback_call(eo_obj, obj, 1519 evas_object_event_callback_call(eo_obj, obj,
1504 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); 1520 EVAS_CALLBACK_MOUSE_OUT, &ev, event_id);
1505 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1521 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1522 ev.canvas.x, ev.canvas.y,
1506 EVAS_CALLBACK_MOUSE_OUT, 1523 EVAS_CALLBACK_MOUSE_OUT,
1507 &ev, event_id); 1524 &ev, event_id);
1508 } 1525 }
@@ -1624,8 +1641,9 @@ _canvas_event_feed_multi_down(Eo *eo_e, void *_pd, va_list *list)
1624 evas_object_event_callback_call(eo_obj, obj, 1641 evas_object_event_callback_call(eo_obj, obj,
1625 EVAS_CALLBACK_MULTI_DOWN, &ev, 1642 EVAS_CALLBACK_MULTI_DOWN, &ev,
1626 event_id); 1643 event_id);
1627 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1644 _evas_event_pass_to_source(eo_obj, obj, eo_e, ev.canvas.x,
1628 EVAS_CALLBACK_MULTI_DOWN, &ev, 1645 ev.canvas.y, EVAS_CALLBACK_MULTI_DOWN,
1646 &ev,
1629 event_id); 1647 event_id);
1630 } 1648 }
1631 if (e->delete_me) break; 1649 if (e->delete_me) break;
@@ -1734,8 +1752,9 @@ _canvas_event_feed_multi_up(Eo *eo_e, void *_pd, va_list *list)
1734 evas_object_event_callback_call(eo_obj, obj, 1752 evas_object_event_callback_call(eo_obj, obj,
1735 EVAS_CALLBACK_MULTI_UP, &ev, 1753 EVAS_CALLBACK_MULTI_UP, &ev,
1736 event_id); 1754 event_id);
1737 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1755 _evas_event_pass_to_source(eo_obj, obj, eo_e, ev.canvas.x,
1738 EVAS_CALLBACK_MULTI_UP, &ev, event_id); 1756 ev.canvas.y, EVAS_CALLBACK_MULTI_UP,
1757 &ev, event_id);
1739 } 1758 }
1740 if (e->delete_me) break; 1759 if (e->delete_me) break;
1741 } 1760 }
@@ -1844,7 +1863,8 @@ _canvas_event_feed_multi_move(Eo *eo_e, void *_pd, va_list *list)
1844 if (y != ev.cur.canvas.y) 1863 if (y != ev.cur.canvas.y)
1845 ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision 1864 ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision
1846 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id); 1865 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id);
1847 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1866 _evas_event_pass_to_source(eo_obj, obj, eo_e, ev.cur.canvas.x,
1867 ev.cur.canvas.y,
1848 EVAS_CALLBACK_MULTI_MOVE, &ev, 1868 EVAS_CALLBACK_MULTI_MOVE, &ev,
1849 event_id); 1869 event_id);
1850 } 1870 }
@@ -1919,6 +1939,7 @@ _canvas_event_feed_multi_move(Eo *eo_e, void *_pd, va_list *list)
1919 ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision 1939 ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision
1920 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id); 1940 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id);
1921 _evas_event_pass_to_source(eo_obj, obj, eo_e, 1941 _evas_event_pass_to_source(eo_obj, obj, eo_e,
1942 ev.cur.canvas.x, ev.cur.canvas.y,
1922 EVAS_CALLBACK_MULTI_MOVE, &ev, 1943 EVAS_CALLBACK_MULTI_MOVE, &ev,
1923 event_id); 1944 event_id);
1924 } 1945 }
@@ -2017,7 +2038,7 @@ _canvas_event_feed_key_down(Eo *eo_e, void *_pd, va_list *list)
2017 object_obj, 2038 object_obj,
2018 EVAS_CALLBACK_KEY_DOWN, &ev, event_id); 2039 EVAS_CALLBACK_KEY_DOWN, &ev, event_id);
2019 _evas_event_pass_to_source(g->object, object_obj, 2040 _evas_event_pass_to_source(g->object, object_obj,
2020 eo_e, 2041 eo_e, 0, 0,
2021 EVAS_CALLBACK_KEY_DOWN, 2042 EVAS_CALLBACK_KEY_DOWN,
2022 &ev, event_id); 2043 &ev, event_id);
2023 } 2044 }
@@ -2054,7 +2075,7 @@ _canvas_event_feed_key_down(Eo *eo_e, void *_pd, va_list *list)
2054 evas_object_event_callback_call(e->focused, focused_obj, 2075 evas_object_event_callback_call(e->focused, focused_obj,
2055 EVAS_CALLBACK_KEY_DOWN, 2076 EVAS_CALLBACK_KEY_DOWN,
2056 &ev, event_id); 2077 &ev, event_id);
2057 _evas_event_pass_to_source(e->focused, focused_obj, eo_e, 2078 _evas_event_pass_to_source(e->focused, focused_obj, eo_e, 0, 0,
2058 EVAS_CALLBACK_KEY_DOWN, 2079 EVAS_CALLBACK_KEY_DOWN,
2059 &ev, event_id); 2080 &ev, event_id);
2060 } 2081 }
@@ -2137,7 +2158,7 @@ _canvas_event_feed_key_up(Eo *eo_e, void *_pd, va_list *list)
2137 EVAS_CALLBACK_KEY_UP, 2158 EVAS_CALLBACK_KEY_UP,
2138 &ev, event_id); 2159 &ev, event_id);
2139 _evas_event_pass_to_source(g->object, object_obj, eo_e, 2160 _evas_event_pass_to_source(g->object, object_obj, eo_e,
2140 EVAS_CALLBACK_KEY_UP, 2161 0, 0, EVAS_CALLBACK_KEY_UP,
2141 &ev, event_id); 2162 &ev, event_id);
2142 } 2163 }
2143 if (g->exclusive) exclusive = EINA_TRUE; 2164 if (g->exclusive) exclusive = EINA_TRUE;
@@ -2174,7 +2195,7 @@ _canvas_event_feed_key_up(Eo *eo_e, void *_pd, va_list *list)
2174 evas_object_event_callback_call(e->focused, focused_obj, 2195 evas_object_event_callback_call(e->focused, focused_obj,
2175 EVAS_CALLBACK_KEY_UP, 2196 EVAS_CALLBACK_KEY_UP,
2176 &ev, event_id); 2197 &ev, event_id);
2177 _evas_event_pass_to_source(e->focused, focused_obj, eo_e, 2198 _evas_event_pass_to_source(e->focused, focused_obj, eo_e, 0, 0,
2178 EVAS_CALLBACK_KEY_UP, 2199 EVAS_CALLBACK_KEY_UP,
2179 &ev, event_id); 2200 &ev, event_id);
2180 } 2201 }
@@ -2226,7 +2247,7 @@ _canvas_event_feed_hold(Eo *eo_e, void *_pd, va_list *list)
2226 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD, 2247 evas_object_event_callback_call(eo_obj, obj, EVAS_CALLBACK_HOLD,
2227 &ev, event_id); 2248 &ev, event_id);
2228 _evas_event_pass_to_source(eo_obj, obj, eo_e, EVAS_CALLBACK_HOLD, 2249 _evas_event_pass_to_source(eo_obj, obj, eo_e, EVAS_CALLBACK_HOLD,
2229 &ev, event_id); 2250 0, 0, &ev, event_id);
2230 } 2251 }
2231 if (e->delete_me) break; 2252 if (e->delete_me) break;
2232 } 2253 }