forked from enlightenment/efl
parent
36a0d2587b
commit
51b3f6c969
|
@ -146,3 +146,8 @@
|
||||||
as they have the same base name, but different prototypes
|
as they have the same base name, but different prototypes
|
||||||
* Add evas_object_ref() and evas_object_unref() to defer
|
* Add evas_object_ref() and evas_object_unref() to defer
|
||||||
deletion of objects until all references are removed
|
deletion of objects until all references are removed
|
||||||
|
|
||||||
|
2011-03-09 Carsten Haitzler (The Rasterman)
|
||||||
|
|
||||||
|
* Fix bug with evas_object_del() calling DEL callback BEFORE
|
||||||
|
the HIDE one.
|
||||||
|
|
|
@ -430,16 +430,7 @@ evas_object_del(Evas_Object *obj)
|
||||||
evas_common_frameq_flush();
|
evas_common_frameq_flush();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
_evas_object_event_new();
|
evas_object_hide(obj);
|
||||||
|
|
||||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_DEL, NULL);
|
|
||||||
_evas_post_event_callback_call(obj->layer->evas);
|
|
||||||
if (obj->name) evas_object_name_set(obj, NULL);
|
|
||||||
if (!obj->layer)
|
|
||||||
{
|
|
||||||
evas_object_free(obj, 1);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (obj->focused)
|
if (obj->focused)
|
||||||
{
|
{
|
||||||
obj->focused = 0;
|
obj->focused = 0;
|
||||||
|
@ -448,10 +439,18 @@ evas_object_del(Evas_Object *obj)
|
||||||
evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL);
|
evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL);
|
||||||
_evas_post_event_callback_call(obj->layer->evas);
|
_evas_post_event_callback_call(obj->layer->evas);
|
||||||
}
|
}
|
||||||
|
_evas_object_event_new();
|
||||||
|
evas_object_event_callback_call(obj, EVAS_CALLBACK_DEL, NULL);
|
||||||
|
_evas_post_event_callback_call(obj->layer->evas);
|
||||||
|
if (obj->name) evas_object_name_set(obj, NULL);
|
||||||
|
if (!obj->layer)
|
||||||
|
{
|
||||||
|
evas_object_free(obj, 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed;
|
obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed;
|
||||||
obj->mouse_grabbed = 0;
|
obj->mouse_grabbed = 0;
|
||||||
obj->mouse_in = 0;
|
obj->mouse_in = 0;
|
||||||
evas_object_hide(obj);
|
|
||||||
evas_object_grabs_cleanup(obj);
|
evas_object_grabs_cleanup(obj);
|
||||||
while (obj->clip.clipees)
|
while (obj->clip.clipees)
|
||||||
evas_object_clip_unset(obj->clip.clipees->data);
|
evas_object_clip_unset(obj->clip.clipees->data);
|
||||||
|
|
Loading…
Reference in New Issue