forked from enlightenment/efl
efl_ui_layout: only delete and unparent objects here when alive
something else might cause the object to get magically revived. Once the object is invalidated, some things are able to set a parent again, which causes the widget to continue with refcount 1 and a parent. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8637
This commit is contained in:
parent
4ce2a29c93
commit
e9a7da0549
|
@ -1010,8 +1010,11 @@ _efl_ui_layout_content_set(Eo *obj, Efl_Ui_Layout_Data *sd, const char *part, Ev
|
||||||
if (!strcmp(part, sub_d->part))
|
if (!strcmp(part, sub_d->part))
|
||||||
{
|
{
|
||||||
if (content == sub_d->obj) goto end;
|
if (content == sub_d->obj) goto end;
|
||||||
_eo_unparent_helper(sub_d->obj, obj);
|
if (efl_alive_get(sub_d->obj))
|
||||||
evas_object_del(sub_d->obj);
|
{
|
||||||
|
_eo_unparent_helper(sub_d->obj, obj);
|
||||||
|
evas_object_del(sub_d->obj);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* was previously swallowed at another part -- mimic
|
/* was previously swallowed at another part -- mimic
|
||||||
|
|
Loading…
Reference in New Issue