ecore: rely on Efl.Object.invalidate instead of a hack for Efl.Model.Container.Item.
authorCedric Bail <cedric@osg.samsung.com>
Wed, 7 Mar 2018 18:59:20 +0000 (10:59 -0800)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 10 Apr 2018 11:10:50 +0000 (20:10 +0900)
src/lib/ecore/efl_model_container.c
src/lib/ecore/efl_model_container_item.c
src/lib/ecore/efl_model_container_item.eo

index 71bb9f1..d734ea2 100644 (file)
@@ -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);
index cb95c2f..99d4d7d 100644 (file)
@@ -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;
 }
index 2b881a3..c959494 100644 (file)
@@ -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;