forked from enlightenment/efl
edje: correctly unswallow things on object destruction.
SVN revision: 72061
This commit is contained in:
parent
8414915d9b
commit
73ba558ac8
|
@ -80,7 +80,9 @@ _edje_user_definition_free(Edje_User_Defined *eud)
|
|||
{
|
||||
case EDJE_USER_SWALLOW:
|
||||
child = eud->u.swallow.child;
|
||||
edje_object_part_unswallow(eud->ed->obj, child);
|
||||
rp = _edje_real_part_recursive_get(eud->ed, eud->part);
|
||||
_edje_real_part_swallow_clear(rp);
|
||||
rp->swallowed_object = NULL;
|
||||
break;
|
||||
case EDJE_USER_BOX_PACK:
|
||||
child = eud->u.box.child;
|
||||
|
@ -2814,7 +2816,7 @@ edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
|
|||
evas_object_event_callback_del_full(rp->swallowed_object,
|
||||
EVAS_CALLBACK_FREE,
|
||||
_edje_object_part_swallow_free_cb,
|
||||
rp->edje->obj);
|
||||
rp);
|
||||
evas_object_event_callback_del_full(rp->swallowed_object,
|
||||
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_edje_object_part_swallow_changed_hints_cb,
|
||||
|
@ -4918,10 +4920,12 @@ _edje_block_violate(Edje *ed)
|
|||
void
|
||||
_edje_object_part_swallow_free_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
|
||||
{
|
||||
Evas_Object *edje_obj;
|
||||
Edje_Real_Part *rp;
|
||||
|
||||
rp = data;
|
||||
_edje_real_part_swallow_clear(rp);
|
||||
rp->swallowed_object = NULL;
|
||||
|
||||
edje_obj = data;
|
||||
edje_object_part_unswallow(edje_obj, obj);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -5052,7 +5056,7 @@ _edje_real_part_swallow(Edje_Real_Part *rp,
|
|||
evas_object_event_callback_add(rp->swallowed_object,
|
||||
EVAS_CALLBACK_DEL,
|
||||
_edje_object_part_swallow_free_cb,
|
||||
rp->edje->obj);
|
||||
rp);
|
||||
evas_object_event_callback_add(rp->swallowed_object,
|
||||
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_edje_object_part_swallow_changed_hints_cb,
|
||||
|
@ -5090,7 +5094,7 @@ _edje_real_part_swallow_clear(Edje_Real_Part *rp)
|
|||
evas_object_event_callback_del_full(rp->swallowed_object,
|
||||
EVAS_CALLBACK_FREE,
|
||||
_edje_object_part_swallow_free_cb,
|
||||
rp->edje->obj);
|
||||
rp);
|
||||
evas_object_event_callback_del_full(rp->swallowed_object,
|
||||
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
|
||||
_edje_object_part_swallow_changed_hints_cb,
|
||||
|
|
Loading…
Reference in New Issue