diff --git a/src/lib/eo/eo2_base_class.c b/src/lib/eo/eo2_base_class.c index db257af50d..b032b01118 100644 --- a/src/lib/eo/eo2_base_class.c +++ b/src/lib/eo/eo2_base_class.c @@ -933,8 +933,14 @@ EAPI EO2_VOID_FUNC_BODY(eo2_constructor); static void _destructor(Eo *obj, void *class_data) { + Private_Data *pd = class_data; + Eo *child; + DBG("%p - %s.", obj, eo_class_name_get(MY_CLASS)); + EINA_LIST_FREE(pd->children, child) + eo2_do(child, eo2_parent_set(NULL)); + _eo_generic_data_del_all(class_data); _wref_destruct(class_data); _eo_callback_remove_all(class_data);