diff --git a/legacy/evas/src/lib/Evas.h b/legacy/evas/src/lib/Evas.h index 68cd6ea688..18864ce39b 100644 --- a/legacy/evas/src/lib/Evas.h +++ b/legacy/evas/src/lib/Evas.h @@ -35,7 +35,7 @@ typedef enum _Evas_Callback_Type EVAS_CALLBACK_MOUSE_UP, /**< Mouse Button Up Event */ EVAS_CALLBACK_MOUSE_MOVE, /**< Mouse Move Event */ EVAS_CALLBACK_MOUSE_WHEEL, /**< Mouse Wheel Event */ - EVAS_CALLBACK_FREE, /**< Object Being Freed */ + EVAS_CALLBACK_FREE, /**< Object Being Freed (Called after Del) */ EVAS_CALLBACK_KEY_DOWN, /**< Key Press Event */ EVAS_CALLBACK_KEY_UP, /**< Key Release Event */ EVAS_CALLBACK_FOCUS_IN, /**< Focus In Event */ @@ -44,7 +44,8 @@ typedef enum _Evas_Callback_Type EVAS_CALLBACK_HIDE, /**< Hide Event */ EVAS_CALLBACK_MOVE, /**< Move Event */ EVAS_CALLBACK_RESIZE, /**< Resize Event */ - EVAS_CALLBACK_RESTACK /**< Restack Event */ + EVAS_CALLBACK_RESTACK, /**< Restack Event */ + EVAS_CALLBACK_DEL /**< Object Being Deleted (called before Free) */ } Evas_Callback_Type; /**< The type of event to trigger the callback */ typedef enum _Evas_Button_Flags diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index b2b8b817ca..8a2cf1e8e5 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -463,6 +463,7 @@ evas_object_del(Evas_Object *obj) if (obj->delete_me) return; + evas_object_event_callback_call(obj, EVAS_CALLBACK_DEL, NULL); if (obj->name) evas_object_name_set(obj, NULL); if (!obj->layer) {