From cba48d38b5a614ee3b1c26854dcecbb369805276 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Tue, 25 Sep 2007 13:33:12 +0000 Subject: [PATCH] Reorder emission of EVAS_CALLBACK_FREE event. Now EVAS_CALLBACK_FREE is emitted after smart object's "del" implementation, this way bindings/wrappers can observe this event in order to release its wrappers and be sure that they'll not be used anymore. Please check your existing code to see if you don't rely on the old behavior. SVN revision: 31800 --- legacy/evas/src/lib/canvas/evas_object_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index fd8ffa4ab9..b2b8b817ca 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -478,11 +478,11 @@ evas_object_del(Evas_Object *obj) obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed; obj->mouse_grabbed = 0; evas_object_hide(obj); - evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL); evas_object_grabs_cleanup(obj); while (obj->clip.clipees) evas_object_clip_unset(obj->clip.clipees->data); if (obj->cur.clipper) evas_object_clip_unset(obj); if (obj->smart.smart) evas_object_smart_del(obj); + evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL); evas_object_smart_cleanup(obj); obj->delete_me = 1; evas_object_change(obj);