evas - handle odd case where smat child is not removed to avoid inf loop

with som refcount fun some o9bjects may not get removed until later
thus causing infinite loops trying to remove comtained objects so
remove anyway in this case to avoid looping forever

@fix
This commit is contained in:
Carsten Haitzler 2022-04-03 21:10:25 +01:00
parent 43c6562a4d
commit e3db794922
1 changed files with 6 additions and 0 deletions

View File

@ -1674,6 +1674,12 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
}
}
else evas_object_smart_member_del(contained_obj);
// EEK ... it qasn't removed? remove it forcibly...
if ((Evas_Object_Protected_Data *)o->contained == contained)
{
o->contained = eina_inlist_remove
(o->contained, EINA_INLIST_GET(contained));
}
}
while (o->callbacks)