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
This commit is contained in:
Gustavo Sverzut Barbieri 2007-09-25 13:33:12 +00:00
parent eafbf9bd38
commit cba48d38b5
1 changed files with 1 additions and 1 deletions

View File

@ -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);