diff --git a/legacy/evas/src/lib/canvas/evas_callbacks.c b/legacy/evas/src/lib/canvas/evas_callbacks.c index f6a8195423..93f34f2376 100644 --- a/legacy/evas/src/lib/canvas/evas_callbacks.c +++ b/legacy/evas/src/lib/canvas/evas_callbacks.c @@ -162,7 +162,7 @@ evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info) } void -evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void *event_info) +evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void *event_info, int event_id) { /* MEM OK */ Eina_Inlist **l_mod = NULL, *l; @@ -170,9 +170,9 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void Evas *e; if ((obj->delete_me) || (!obj->layer)) return; - if ((obj->last_event == _evas_event_counter) && + if ((obj->last_event == event_id) && (obj->last_event_type == type)) return; - obj->last_event = _evas_event_counter; + obj->last_event = event_id; obj->last_event_type = type; if (!(e = obj->layer->evas)) return; @@ -250,7 +250,7 @@ evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void { if ((obj->smart.parent) && (type != EVAS_CALLBACK_FREE) && (type <= EVAS_CALLBACK_KEY_UP)) - evas_object_event_callback_call(obj->smart.parent, type, event_info); + evas_object_event_callback_call(obj->smart.parent, type, event_info, event_id); } } _evas_unwalk(e); diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c index cd304f6129..624842c673 100644 --- a/legacy/evas/src/lib/canvas/evas_events.c +++ b/legacy/evas/src/lib/canvas/evas_events.c @@ -198,6 +198,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int Evas_Event_Mouse_Down ev; Evas_Object *obj; int addgrab = 0; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -213,6 +214,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int _evas_object_event_new(); + event_id = _evas_event_counter; ev.button = b; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -261,7 +263,7 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int _evas_event_havemap_adjust(obj, &ev.canvas.x, &ev.canvas.y, obj->mouse_grabbed); if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_DOWN, &ev, event_id); if (e->delete_me) break; } if (copy) eina_list_free(copy); @@ -279,9 +281,11 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data) Evas_Event_Mouse_Out ev; Evas_Object *obj; int post_called = 0; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -309,7 +313,7 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data) { obj->mouse_in = 0; if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); } } if (e->delete_me) break; @@ -321,9 +325,11 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data) { Evas_Event_Mouse_In ev_in; Evas_Object *obj_itr; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev_in.buttons = e->pointer.button; ev_in.output.x = e->pointer.x; ev_in.output.y = e->pointer.y; @@ -346,7 +352,7 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data) { obj_itr->mouse_in = 1; if (e->events_frozen <= 0) - evas_object_event_callback_call(obj_itr, EVAS_CALLBACK_MOUSE_IN, &ev_in); + evas_object_event_callback_call(obj_itr, EVAS_CALLBACK_MOUSE_IN, &ev_in, event_id); } } if (e->delete_me) break; @@ -396,9 +402,11 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t { Evas_Event_Mouse_Up ev; Evas_Object *obj; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.button = b; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -429,7 +437,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t if (!obj->delete_me) { if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev, event_id); } if (e->delete_me) break; } @@ -480,6 +488,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestam Eina_List *l, *copy; Evas_Event_Mouse_Wheel ev; Evas_Object *obj; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -490,6 +499,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestam _evas_object_event_new(); + event_id = _evas_event_counter; ev.direction = direction; ev.z = z; ev.output.x = e->pointer.x; @@ -511,7 +521,7 @@ evas_event_feed_mouse_wheel(Evas *e, int direction, int z, unsigned int timestam ev.canvas.y = e->pointer.y; _evas_event_havemap_adjust(obj, &ev.canvas.x, &ev.canvas.y, obj->mouse_grabbed); if ((e->events_frozen <= 0) && !evas_event_freezes_through(obj)) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_WHEEL, &ev, event_id); if (e->delete_me) break; } if (copy) copy = eina_list_free(copy); @@ -559,9 +569,11 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const { Evas_Event_Mouse_Move ev; Evas_Object *obj; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.cur.output.x = e->pointer.x; ev.cur.output.y = e->pointer.y; @@ -592,7 +604,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const (!obj->clip.clipees)) { if ((px != x) || (py != y)) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id); } else outs = eina_list_append(outs, obj); @@ -602,9 +614,11 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const } { Evas_Event_Mouse_Out ev; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -635,7 +649,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const if (!obj->delete_me) { if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); } } } @@ -651,9 +665,11 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const Evas_Event_Mouse_Out ev2; Evas_Event_Mouse_In ev3; Evas_Object *obj; + int event_id = 0, event_id2 = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.cur.output.x = e->pointer.x; ev.cur.output.y = e->pointer.y; @@ -717,7 +733,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const ev.cur.canvas.x = e->pointer.x; ev.cur.canvas.y = e->pointer.y; _evas_event_havemap_adjust(obj, &ev.cur.canvas.x, &ev.cur.canvas.y, obj->mouse_grabbed); - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, &ev, event_id); } } /* otherwise it has left the object */ @@ -730,7 +746,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const ev2.canvas.y = e->pointer.y; _evas_event_havemap_adjust(obj, &ev2.canvas.x, &ev2.canvas.y, obj->mouse_grabbed); if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev2); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev2, event_id); } } if (e->delete_me) break; @@ -739,6 +755,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const _evas_object_event_new(); + event_id2 = _evas_event_counter; if (copy) copy = eina_list_free(copy); /* go thru our current list of ins */ EINA_LIST_FOREACH(ins, l, obj) @@ -753,7 +770,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const { obj->mouse_in = 1; if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev3); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev3, event_id2); } } if (e->delete_me) break; @@ -782,6 +799,7 @@ evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data) Eina_List *l; Evas_Event_Mouse_In ev; Evas_Object *obj; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -795,6 +813,7 @@ evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data) _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -820,7 +839,7 @@ evas_event_feed_mouse_in(Evas *e, unsigned int timestamp, const void *data) { obj->mouse_in = 1; if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev, event_id); } } if (e->delete_me) break; @@ -838,6 +857,7 @@ EAPI void evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data) { Evas_Event_Mouse_Out ev; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -849,6 +869,7 @@ evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data) _evas_object_event_new(); + event_id = _evas_event_counter; ev.buttons = e->pointer.button; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -880,7 +901,7 @@ evas_event_feed_mouse_out(Evas *e, unsigned int timestamp, const void *data) if (!obj->delete_me) { if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev, event_id); } } if (e->delete_me) break; @@ -906,6 +927,7 @@ evas_event_feed_multi_down(Evas *e, Evas_Event_Multi_Down ev; Evas_Object *obj; int addgrab = 0; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -917,6 +939,7 @@ evas_event_feed_multi_down(Evas *e, _evas_object_event_new(); + event_id = _evas_event_counter; ev.device = d; ev.output.x = x; ev.output.y = y; @@ -964,7 +987,7 @@ evas_event_feed_multi_down(Evas *e, if (y != ev.canvas.y) ev.canvas.ysub = ev.canvas.y; // fixme - lost precision if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_DOWN, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_DOWN, &ev, event_id); if (e->delete_me) break; } if (copy) eina_list_free(copy); @@ -986,6 +1009,7 @@ evas_event_feed_multi_up(Evas *e, Eina_List *l, *copy; Evas_Event_Multi_Up ev; Evas_Object *obj; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -997,6 +1021,7 @@ evas_event_feed_multi_up(Evas *e, _evas_object_event_new(); + event_id = _evas_event_counter; ev.device = d; ev.output.x = x; ev.output.y = y; @@ -1038,7 +1063,7 @@ evas_event_feed_multi_up(Evas *e, e->pointer.mouse_grabbed--; } if (e->events_frozen <= 0) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_UP, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_UP, &ev, event_id); if (e->delete_me) break; } if (copy) copy = eina_list_free(copy); @@ -1076,9 +1101,11 @@ evas_event_feed_multi_move(Evas *e, Eina_List *l, *copy; Evas_Event_Multi_Move ev; Evas_Object *obj; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.device = d; ev.cur.output.x = x; ev.cur.output.y = y; @@ -1115,7 +1142,7 @@ evas_event_feed_multi_move(Evas *e, ev.cur.canvas.xsub = ev.cur.canvas.x; // fixme - lost precision if (y != ev.cur.canvas.y) ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision - evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_MOVE, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id); } if (e->delete_me) break; } @@ -1127,9 +1154,11 @@ evas_event_feed_multi_move(Evas *e, Eina_List *l, *copy; Evas_Event_Multi_Move ev; Evas_Object *obj; + int event_id = 0; _evas_object_event_new(); + event_id = _evas_event_counter; ev.device = d; ev.cur.output.x = x; ev.cur.output.y = y; @@ -1178,7 +1207,7 @@ evas_event_feed_multi_move(Evas *e, ev.cur.canvas.xsub = ev.cur.canvas.x; // fixme - lost precision if (y != ev.cur.canvas.y) ev.cur.canvas.ysub = ev.cur.canvas.y; // fixme - lost precision - evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_MOVE, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_MOVE, &ev, event_id); } if (e->delete_me) break; } @@ -1203,6 +1232,7 @@ evas_event_feed_multi_move(Evas *e, EAPI void evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) { + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; MAGIC_CHECK_END(); @@ -1217,6 +1247,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch _evas_object_event_new(); + event_id = _evas_event_counter; exclusive = EINA_FALSE; ev.keyname = (char *)keyname; ev.data = (void *)data; @@ -1252,7 +1283,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch !evas_event_freezes_through(g->object)) evas_object_event_callback_call(g->object, EVAS_CALLBACK_KEY_DOWN, - &ev); + &ev, event_id); if (g->exclusive) exclusive = EINA_TRUE; } } @@ -1279,7 +1310,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch { if (e->events_frozen <= 0 && !evas_event_freezes_through(e->focused)) evas_object_event_callback_call(e->focused, EVAS_CALLBACK_KEY_DOWN, - &ev); + &ev, event_id); } _evas_post_event_callback_call(e); _evas_unwalk(e); @@ -1288,6 +1319,7 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, const ch EAPI void evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) { + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; MAGIC_CHECK_END(); @@ -1301,6 +1333,7 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char _evas_object_event_new(); + event_id = _evas_event_counter; exclusive = EINA_FALSE; ev.keyname = (char *)keyname; ev.data = (void *)data; @@ -1335,7 +1368,7 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char if (e->events_frozen <= 0 && !evas_event_freezes_through(g->object)) evas_object_event_callback_call(g->object, - EVAS_CALLBACK_KEY_UP, &ev); + EVAS_CALLBACK_KEY_UP, &ev, event_id); if (g->exclusive) exclusive = EINA_TRUE; } if (e->delete_me) break; @@ -1362,7 +1395,7 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, const char { if (e->events_frozen <= 0 && !evas_event_freezes_through(e->focused)) evas_object_event_callback_call(e->focused, EVAS_CALLBACK_KEY_UP, - &ev); + &ev, event_id); } _evas_post_event_callback_call(e); _evas_unwalk(e); @@ -1374,6 +1407,7 @@ evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data Eina_List *l, *copy; Evas_Event_Hold ev; Evas_Object *obj; + int event_id = 0; MAGIC_CHECK(e, Evas, MAGIC_EVAS); return; @@ -1384,6 +1418,7 @@ evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data _evas_object_event_new(); + event_id = _evas_event_counter; ev.hold = hold; ev.data = (void *)data; ev.timestamp = timestamp; @@ -1394,7 +1429,7 @@ evas_event_feed_hold(Evas *e, int hold, unsigned int timestamp, const void *data EINA_LIST_FOREACH(copy, l, obj) { if ((e->events_frozen <= 0) && !evas_event_freezes_through(obj)) - evas_object_event_callback_call(obj, EVAS_CALLBACK_HOLD, &ev); + evas_object_event_callback_call(obj, EVAS_CALLBACK_HOLD, &ev, event_id); if (e->delete_me) break; } if (copy) copy = eina_list_free(copy); diff --git a/legacy/evas/src/lib/canvas/evas_focus.c b/legacy/evas/src/lib/canvas/evas_focus.c index 5f52030387..29da7e7140 100644 --- a/legacy/evas/src/lib/canvas/evas_focus.c +++ b/legacy/evas/src/lib/canvas/evas_focus.c @@ -10,12 +10,14 @@ EAPI void evas_object_focus_set(Evas_Object *obj, Eina_Bool focus) { + int event_id = 0; MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); return; MAGIC_CHECK_END(); _evas_object_event_new(); + event_id = _evas_event_counter; if (focus) { if (obj->focused) goto end; @@ -23,7 +25,7 @@ evas_object_focus_set(Evas_Object *obj, Eina_Bool focus) evas_object_focus_set(obj->layer->evas->focused, 0); obj->focused = 1; obj->layer->evas->focused = obj; - evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_IN, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_IN, NULL, event_id); evas_event_callback_call(obj->layer->evas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, obj); } @@ -32,7 +34,7 @@ evas_object_focus_set(Evas_Object *obj, Eina_Bool focus) if (!obj->focused) goto end; obj->focused = 0; obj->layer->evas->focused = NULL; - evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL, event_id); evas_event_callback_call(obj->layer->evas, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, obj); } diff --git a/legacy/evas/src/lib/canvas/evas_object_inform.c b/legacy/evas/src/lib/canvas/evas_object_inform.c index bc09eb996c..302da42221 100644 --- a/legacy/evas/src/lib/canvas/evas_object_inform.c +++ b/legacy/evas/src/lib/canvas/evas_object_inform.c @@ -8,7 +8,7 @@ evas_object_inform_call_show(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_SHOW, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_SHOW, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -17,7 +17,7 @@ evas_object_inform_call_hide(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_HIDE, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_HIDE, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -26,7 +26,7 @@ evas_object_inform_call_move(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOVE, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOVE, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -35,7 +35,7 @@ evas_object_inform_call_resize(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_RESIZE, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_RESIZE, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -44,7 +44,7 @@ evas_object_inform_call_restack(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_RESTACK, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_RESTACK, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -53,7 +53,7 @@ evas_object_inform_call_changed_size_hints(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -65,7 +65,7 @@ evas_object_inform_call_image_preloaded(Evas_Object *obj) _evas_object_image_preloading_set(obj, 0); _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_IMAGE_PRELOADED, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_IMAGE_PRELOADED, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } @@ -74,6 +74,6 @@ evas_object_inform_call_image_unloaded(Evas_Object *obj) { _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_IMAGE_UNLOADED, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_IMAGE_UNLOADED, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index 3eaded90aa..7fe52e438b 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -408,11 +408,11 @@ evas_object_del(Evas_Object *obj) obj->focused = 0; obj->layer->evas->focused = NULL; _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); } _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_DEL, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_DEL, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); if (obj->mouse_grabbed > 0) obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed; @@ -438,7 +438,7 @@ evas_object_del(Evas_Object *obj) if (obj->smart.smart) evas_object_smart_del(obj); evas_object_map_set(obj, NULL); _evas_object_event_new(); - evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL); + evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL, _evas_event_counter); _evas_post_event_callback_call(obj->layer->evas); evas_object_smart_cleanup(obj); obj->delete_me = 1; diff --git a/legacy/evas/src/lib/include/evas_private.h b/legacy/evas/src/lib/include/evas_private.h index 776847a95f..30982eee82 100644 --- a/legacy/evas/src/lib/include/evas_private.h +++ b/legacy/evas/src/lib/include/evas_private.h @@ -913,7 +913,7 @@ void evas_object_clip_across_check(Evas_Object *obj); void evas_object_clip_across_clippees_check(Evas_Object *obj); void evas_object_mapped_clip_across_mark(Evas_Object *obj); void evas_event_callback_call(Evas *e, Evas_Callback_Type type, void *event_info); -void evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void *event_info); +void evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void *event_info, int event_id); Eina_List *evas_event_objects_event_list(Evas *e, Evas_Object *stop, int x, int y); int evas_mem_free(int mem_required); int evas_mem_degrade(int mem_required);