edje: once the swallowed object is cleared out do not let it there.

SVN revision: 72155
This commit is contained in:
Cedric BAIL 2012-06-15 01:06:50 +00:00
parent cb2c9a94a1
commit ee68f2795f
1 changed files with 11 additions and 4 deletions

View File

@ -92,6 +92,17 @@ _edje_user_definition_free(Edje_User_Defined *eud)
child = eud->u.swallow.child;
rp = _edje_real_part_recursive_get(eud->ed, eud->part);
_edje_real_part_swallow_clear(rp);
rp->swallowed_object = NULL;
rp->swallow_params.min.w = 0;
rp->swallow_params.min.h = 0;
rp->swallow_params.max.w = 0;
rp->swallow_params.max.h = 0;
rp->edje->dirty = 1;
rp->edje->recalc_call = 1;
#ifdef EDJE_CALC_CACHE
rp->invalidate = 1;
#endif
_edje_recalc(rp->edje);
break;
case EDJE_USER_BOX_PACK:
child = eud->u.box.child;
@ -2820,7 +2831,6 @@ edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow)
}
_edje_real_part_swallow_clear(rp);
rp->swallowed_object = NULL;
rp->swallow_params.min.w = 0;
rp->swallow_params.min.h = 0;
@ -4926,9 +4936,6 @@ _edje_object_part_swallow_free_cb(void *data, Evas *e __UNUSED__, Evas_Object *o
break;
}
_edje_real_part_swallow_clear(rp);
rp->swallowed_object = NULL;
return;
}