aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSangHyeon Jade Lee <sh10233.lee@samsung.com>2018-08-17 16:54:34 +0900
committerSangHyeon Jade Lee <sh10233.lee@samsung.com>2018-08-17 16:54:34 +0900
commit1ee844c2aec36eed4df29a190acc1b31abd25064 (patch)
tree1c704d10f193a3547698b1353b526f17f4bf77c3
parentelm/win: don't force opaque bg if alpha is set (diff)
downloadefl-devs/sanghyeonlee/efl_ui_grid.tar.gz
efl_ui_grid : add grid invalidatedevs/sanghyeonlee/efl_ui_grid
-rw-r--r--src/lib/elementary/efl_ui_grid.c18
-rw-r--r--src/lib/elementary/efl_ui_grid.eo1
2 files changed, 13 insertions, 6 deletions
diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index 08827a53d0..684d568d11 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -627,8 +627,9 @@ _efl_ui_grid_efl_object_finalize(Eo *obj,
return obj;
}
+
EOLIAN static void
-_efl_ui_grid_efl_object_destructor(Eo *obj, Efl_Ui_Grid_Data *pd)
+_efl_ui_grid_efl_object_invalidate(Eo *obj, Efl_Ui_Grid_Data *pd)
{
_scroll_edje_object_detach(obj);
@@ -648,16 +649,21 @@ _efl_ui_grid_efl_object_destructor(Eo *obj, Efl_Ui_Grid_Data *pd)
_efl_ui_grid_pan_resized_cb, obj);
efl_event_callback_del(pd->content, EFL_GFX_ENTITY_EVENT_MOVE,
_efl_ui_grid_content_moved_cb, obj);
-
_grid_clear_internal(obj, pd);
- efl_content_set(pd->pan, NULL);
- efl_del(pd->content);
+ if (pd->smanager) efl_del(pd->smanager);
+ pd->smanager = NULL;
+ if (pd->content) efl_del(pd->content);
pd->content = NULL;
- efl_del(pd->pan);
+ if (pd->pan) efl_del(pd->pan);
pd->pan = NULL;
- pd->smanager = NULL;
+ efl_invalidate(efl_super(obj, MY_CLASS));
+}
+
+EOLIAN static void
+_efl_ui_grid_efl_object_destructor(Eo *obj, Efl_Ui_Grid_Data *pd)
+{
efl_destructor(efl_super(obj, MY_CLASS));
}
diff --git a/src/lib/elementary/efl_ui_grid.eo b/src/lib/elementary/efl_ui_grid.eo
index 281b09aaea..f369b0de3c 100644
--- a/src/lib/elementary/efl_ui_grid.eo
+++ b/src/lib/elementary/efl_ui_grid.eo
@@ -52,6 +52,7 @@ class Efl.Ui.Grid (Efl.Ui.Layout.Object,
Efl.Object.constructor;
Efl.Object.finalize;
Efl.Object.destructor;
+ Efl.Object.invalidate;
//Efl.Canvas
Efl.Canvas.Group.group_calculate;