ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item.

This commit is contained in:
Cedric Bail 2018-03-07 10:59:20 -08:00
parent 83251edae7
commit 83233a976d
3 changed files with 5 additions and 10 deletions

View File

@ -90,11 +90,7 @@ _efl_model_container_efl_object_destructor(Eo *obj, Efl_Model_Container_Data *sd
EINA_LIST_FREE(sd->children, child) EINA_LIST_FREE(sd->children, child)
{ {
if (child) if (child) efl_parent_set(child, NULL);
{
efl_model_container_item_invalidate(child);
efl_parent_set(child, NULL);
}
} }
eina_array_free(sd->defined_properties); eina_array_free(sd->defined_properties);

View File

@ -23,8 +23,10 @@ _efl_model_container_item_define(Eo *obj EINA_UNUSED, Efl_Model_Container_Item_D
} }
EOLIAN static void 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->parent_data = NULL;
sd->index = 0; sd->index = 0;
} }

View File

@ -19,10 +19,6 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model)
children.]] children.]]
} }
} }
invalidate {
[[Invalidates the object preventing it from using the given parent
data.]]
}
} }
implements { implements {
Efl.Model.properties { get; } Efl.Model.properties { get; }
@ -32,6 +28,7 @@ class Efl.Model.Container.Item (Efl.Object, Efl.Model)
Efl.Model.child_del; Efl.Model.child_del;
Efl.Model.children_slice_get; Efl.Model.children_slice_get;
Efl.Model.children_count_get; Efl.Model.children_count_get;
Efl.Object.invalidate;
} }
constructors { constructors {
.define; .define;