From 83233a976d7bf41ee7c81b96d1094611eafb7bd1 Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Wed, 7 Mar 2018 10:59:20 -0800 Subject: [PATCH] ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item. --- src/lib/ecore/efl_model_container.c | 6 +----- src/lib/ecore/efl_model_container_item.c | 4 +++- src/lib/ecore/efl_model_container_item.eo | 5 +---- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/lib/ecore/efl_model_container.c b/src/lib/ecore/efl_model_container.c index 71bb9f192b..d734ea2c66 100644 --- a/src/lib/ecore/efl_model_container.c +++ b/src/lib/ecore/efl_model_container.c @@ -90,11 +90,7 @@ _efl_model_container_efl_object_destructor(Eo *obj, Efl_Model_Container_Data *sd EINA_LIST_FREE(sd->children, child) { - if (child) - { - efl_model_container_item_invalidate(child); - efl_parent_set(child, NULL); - } + if (child) efl_parent_set(child, NULL); } eina_array_free(sd->defined_properties); diff --git a/src/lib/ecore/efl_model_container_item.c b/src/lib/ecore/efl_model_container_item.c index cb95c2f4db..99d4d7d4c3 100644 --- a/src/lib/ecore/efl_model_container_item.c +++ b/src/lib/ecore/efl_model_container_item.c @@ -23,8 +23,10 @@ _efl_model_container_item_define(Eo *obj EINA_UNUSED, Efl_Model_Container_Item_D } EOLIAN static void -_efl_model_container_item_invalidate(Eo *obj EINA_UNUSED, Efl_Model_Container_Item_Data *sd) +_efl_model_container_item_efl_object_invalidate(Eo *obj, Efl_Model_Container_Item_Data *sd) { + efl_invalidate(efl_super(obj, MY_CLASS)); + sd->parent_data = NULL; sd->index = 0; } diff --git a/src/lib/ecore/efl_model_container_item.eo b/src/lib/ecore/efl_model_container_item.eo index 2b881a3f82..c959494096 100644 --- a/src/lib/ecore/efl_model_container_item.eo +++ b/src/lib/ecore/efl_model_container_item.eo @@ -19,10 +19,6 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model) children.]] } } - invalidate { - [[Invalidates the object preventing it from using the given parent - data.]] - } } implements { Efl.Model.properties { get; } @@ -32,6 +28,7 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model) Efl.Model.child_del; Efl.Model.children_slice_get; Efl.Model.children_count_get; + Efl.Object.invalidate; } constructors { .define;