remove subobj from list before beginning delete callback chain, also add borker certification

SVN revision: 73259
This commit is contained in:
Mike Blumenkrantz 2012-07-04 08:38:19 +00:00
parent a4d99c2f30
commit 4128a1345f
1 changed files with 7 additions and 1 deletions

View File

@ -519,8 +519,14 @@ _e_smart_del(Evas_Object *obj)
while (sd->subobjs)
{
Evas_Object *sobj = sd->subobjs->data;
/* DO NOT MACRO THIS!
* list gets reshuffled during object delete callback chain
* and breaks the world.
* BORKER CERTIFICATION: GOLD
* -discomfitor, 7/4/2012
*/
sd->subobjs = eina_list_remove_list(sd->subobjs, sd->subobjs);
evas_object_del(sobj);
sd->subobjs = eina_list_remove(sd->subobjs, sobj);
}
free(sd);
}