From d8db7b2637528dbc89605720a371b0677c84ae88 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Tue, 28 Jun 2016 19:29:31 +0900 Subject: [PATCH] eo: Fix composite objects destruction This walks the list and removes objects from it. Not using EINA_LIST_FREE as the actual list_remove is done inside eo_composite_detach. --- src/lib/eo/eo_base_class.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index fe12067bd2..82ab7d601b 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -1439,9 +1439,9 @@ _eo_base_destructor(Eo *obj, Eo_Base_Data *pd) /* If we are a composite object, detach children */ { EO_OBJ_POINTER_RETURN(obj, obj_data); - Eina_List *itr; + Eina_List *itr, *next; Eo *emb_obj_id; - EINA_LIST_FOREACH(obj_data->composite_objects, itr, emb_obj_id) + EINA_LIST_FOREACH_SAFE(obj_data->composite_objects, itr, next, emb_obj_id) { eo_composite_detach(obj, emb_obj_id); }