summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_object_box.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/evas_object_box.c')
-rw-r--r--src/lib/evas/canvas/evas_object_box.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/lib/evas/canvas/evas_object_box.c b/src/lib/evas/canvas/evas_object_box.c
index 7a7173eb25..7853ee3e10 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -412,18 +412,16 @@ _evas_box_efl_canvas_group_group_add(Eo *eo_obj, Evas_Object_Box_Data *priv)
412EOLIAN static void 412EOLIAN static void
413_evas_box_efl_canvas_group_group_del(Eo *o, Evas_Object_Box_Data *priv) 413_evas_box_efl_canvas_group_group_del(Eo *o, Evas_Object_Box_Data *priv)
414{ 414{
415 Eina_List *l; 415 while (priv->children)
416
417 l = priv->children;
418 while (l)
419 { 416 {
420 Evas_Object_Box_Option *opt = l->data; 417 Evas_Object_Box_Option *opt = eina_list_data_get(priv->children);
421 418
422 _evas_object_box_child_callbacks_unregister(opt->obj, o); 419 _evas_object_box_child_callbacks_unregister(opt->obj, o);
423 evas_obj_box_internal_option_free(o, opt); 420 evas_obj_box_internal_option_free(o, opt);
424 l = eina_list_remove_list(l, l); 421 priv->children = eina_list_remove_list(priv->children, priv->children);
425 } 422 }
426 423
424
427 if (priv->layout.data && priv->layout.free_data) 425 if (priv->layout.data && priv->layout.free_data)
428 priv->layout.free_data(priv->layout.data); 426 priv->layout.free_data(priv->layout.data);
429 427