From a4d99c2f3014f208c6d7e3bf937ca4d97d2d7121 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 4 Jul 2012 08:29:30 +0000 Subject: [PATCH] this code appears to be functionally identical, yet one version breaks the world. SVN revision: 73258 --- src/bin/e_widget.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/e_widget.c b/src/bin/e_widget.c index 93da4498e..696946dc8 100644 --- a/src/bin/e_widget.c +++ b/src/bin/e_widget.c @@ -514,11 +514,14 @@ static void _e_smart_del(Evas_Object *obj) { INTERNAL_ENTRY; - Evas_Object *o; if (sd->del_func) sd->del_func(obj); - EINA_LIST_FREE(sd->subobjs, o) - evas_object_del(o); + while (sd->subobjs) + { + Evas_Object *sobj = sd->subobjs->data; + evas_object_del(sobj); + sd->subobjs = eina_list_remove(sd->subobjs, sobj); + } free(sd); }