summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Zaoui <daniel.zaoui@samsung.com>2014-09-17 16:44:05 +0300
committerDaniel Zaoui <daniel.zaoui@samsung.com>2014-09-23 16:02:56 +0300
commit989b193d98ef0fb6d81adfe97faa6628b7ca699c (patch)
tree8ca9501c25b88d0e8ef2f08ee9c8bd72f046e450
parentb7fecf3139745b7dbbba0b9e38adf7d8d297484e (diff)
downloadelementary-989b193d98ef0fb6d81adfe97faa6628b7ca699c.tar.gz
Replace most of del_pre functions with destructor.
The other del_pre that have not been replaced can return FALSE and prevent del.
-rw-r--r--src/lib/elc_ctxpopup.c11
-rw-r--r--src/lib/elc_hoversel.c12
-rw-r--r--src/lib/elc_multibuttonentry.c8
-rw-r--r--src/lib/elc_popup.c8
-rw-r--r--src/lib/elm_ctxpopup_item.eo2
-rw-r--r--src/lib/elm_diskselector.c6
-rw-r--r--src/lib/elm_diskselector_item.eo2
-rw-r--r--src/lib/elm_hoversel_item.eo2
-rw-r--r--src/lib/elm_index.c6
-rw-r--r--src/lib/elm_index_item.eo2
-rw-r--r--src/lib/elm_menu.c12
-rw-r--r--src/lib/elm_menu_item.eo2
-rw-r--r--src/lib/elm_multibuttonentry_item.eo2
-rw-r--r--src/lib/elm_popup_item.eo2
-rw-r--r--src/lib/elm_segment_control.c6
-rw-r--r--src/lib/elm_segment_control_item.eo2
-rw-r--r--src/lib/elm_slideshow.c8
-rw-r--r--src/lib/elm_slideshow_item.eo2
-rw-r--r--src/lib/elm_toolbar.c6
-rw-r--r--src/lib/elm_toolbar_item.eo2
20 files changed, 48 insertions, 55 deletions
diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index 67d6b5beb..91f65fcc3 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -1035,9 +1035,9 @@ _list_del(Elm_Ctxpopup_Data *sd)
ELM_SAFE_FREE(sd->list, evas_object_del);
}
-EOLIAN static Eina_Bool
-_elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it,
- Elm_Ctxpopup_Item_Data *ctxpopup_it)
+EOLIAN static void
+_elm_ctxpopup_item_eo_base_destructor(Eo *eo_ctxpopup_it,
+ Elm_Ctxpopup_Item_Data *ctxpopup_it)
{
Evas_Object *list;
@@ -1054,7 +1054,7 @@ _elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it,
sd->items = eina_list_remove(sd->items, eo_ctxpopup_it);
evas_object_hide(WIDGET(ctxpopup_it));
- return EINA_TRUE;
+ goto end;
}
if (ctxpopup_it->list_item)
@@ -1062,7 +1062,8 @@ _elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it,
sd->items = eina_list_remove(sd->items, eo_ctxpopup_it);
if (sd->list_visible) elm_layout_sizing_eval(WIDGET(ctxpopup_it));
- return EINA_TRUE;
+end:
+ eo_do_super(eo_ctxpopup_it, ELM_CTXPOPUP_ITEM_CLASS, eo_destructor());
}
EOLIAN static Eina_Bool
diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c
index d436a4b83..220a581f9 100644
--- a/src/lib/elc_hoversel.c
+++ b/src/lib/elc_hoversel.c
@@ -275,10 +275,10 @@ _elm_hoversel_item_elm_widget_item_style_get(Eo *eo_it EINA_UNUSED,
return elm_object_style_get(VIEW(it));
}
-EOLIAN static Eina_Bool
-_elm_hoversel_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Hoversel_Item_Data *item)
+EOLIAN static void
+_elm_hoversel_item_eo_base_destructor(Eo *eo_item, Elm_Hoversel_Item_Data *item)
{
- ELM_HOVERSEL_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE);
+ ELM_HOVERSEL_DATA_GET_OR_RETURN(WIDGET(item), sd);
elm_hoversel_hover_end(WIDGET(item));
sd->items = eina_list_remove(sd->items, eo_item);
@@ -286,7 +286,7 @@ _elm_hoversel_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Hoversel
eina_stringshare_del(item->icon_file);
eina_stringshare_del(item->icon_group);
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_HOVERSEL_ITEM_CLASS, eo_destructor());
}
EOLIAN static void
@@ -310,10 +310,6 @@ _elm_hoversel_evas_object_smart_del(Eo *obj, Elm_Hoversel_Data *sd)
EINA_LIST_FREE(sd->items, eo_item)
{
- ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
- eina_stringshare_del(item->label);
- eina_stringshare_del(item->icon_file);
- eina_stringshare_del(item->icon_group);
eo_del(eo_item);
}
elm_hoversel_hover_parent_set(obj, NULL);
diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c
index 82fe345de..ef345a4e2 100644
--- a/src/lib/elc_multibuttonentry.c
+++ b/src/lib/elc_multibuttonentry.c
@@ -588,13 +588,13 @@ _elm_multibuttonentry_item_elm_widget_item_part_text_get(Eo *eo_item EINA_UNUSED
return edje_object_part_text_get(item->button, src_part);
}
-EOLIAN static Eina_Bool
-_elm_multibuttonentry_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED,
- Elm_Multibuttonentry_Item_Data *it EINA_UNUSED)
+EOLIAN static void
+_elm_multibuttonentry_item_eo_base_destructor(Eo *eo_it,
+ Elm_Multibuttonentry_Item_Data *it)
{
_button_item_del(it);
- return EINA_TRUE;
+ eo_do_super(eo_it, ELM_MULTIBUTTONENTRY_ITEM_CLASS, eo_destructor());
}
static void
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index 62b36508c..282684df0 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -771,10 +771,10 @@ _elm_popup_item_elm_widget_item_disable(Eo *eo_it, Elm_Popup_Item_Data *it)
elm_layout_signal_emit(VIEW(it), "elm,state,item,enabled", "elm");
}
-EOLIAN static Eina_Bool
-_elm_popup_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Popup_Item_Data *it)
+EOLIAN static void
+_elm_popup_item_eo_base_destructor(Eo *eo_it, Elm_Popup_Item_Data *it)
{
- ELM_POPUP_ITEM_CHECK_OR_RETURN(it, EINA_FALSE);
+ ELM_POPUP_ITEM_CHECK_OR_RETURN(it);
ELM_POPUP_DATA_GET(WIDGET(it), sd);
evas_object_del(it->icon);
@@ -785,7 +785,7 @@ _elm_popup_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Popup_Item_Da
sd->items = NULL;
_list_del(sd);
}
- return EINA_TRUE;
+ eo_do_super(eo_it, ELM_POPUP_ITEM_CLASS, eo_destructor());
}
EOLIAN static void
diff --git a/src/lib/elm_ctxpopup_item.eo b/src/lib/elm_ctxpopup_item.eo
index 957cbbcaf..05b036f34 100644
--- a/src/lib/elm_ctxpopup_item.eo
+++ b/src/lib/elm_ctxpopup_item.eo
@@ -47,7 +47,7 @@ class Elm_Ctxpopup_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
Elm_Widget_Item.disable;
Elm_Widget_Item.signal_emit;
Elm_Widget_Item.part_text.get;
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c
index 5e34b6248..34e4cf48c 100644
--- a/src/lib/elm_diskselector.c
+++ b/src/lib/elm_diskselector.c
@@ -348,8 +348,8 @@ _sizing_eval(Evas_Object *obj)
_resize_cb(NULL, NULL, obj, NULL);
}
-EOLIAN static Eina_Bool
-_elm_diskselector_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Diskselector_Item_Data *it)
+EOLIAN static void
+_elm_diskselector_item_eo_base_destructor(Eo *eo_it, Elm_Diskselector_Item_Data *it)
{
Elm_Diskselector_Item_Data *item2, *dit;
Eina_List *l;
@@ -454,7 +454,7 @@ _elm_diskselector_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Diskse
_sizing_eval(obj);
- return EINA_TRUE;
+ eo_do_super(eo_it, ELM_DISKSELECTOR_CLASS, eo_destructor());
}
EOLIAN static void
diff --git a/src/lib/elm_diskselector_item.eo b/src/lib/elm_diskselector_item.eo
index 3df81dabd..84e63f242 100644
--- a/src/lib/elm_diskselector_item.eo
+++ b/src/lib/elm_diskselector_item.eo
@@ -95,7 +95,7 @@ class Elm_Diskselector_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
Elm_Widget_Item.part_text.get;
Elm_Widget_Item.part_text.set;
Elm_Widget_Item.part_content.get;
diff --git a/src/lib/elm_hoversel_item.eo b/src/lib/elm_hoversel_item.eo
index 729264b11..97d78fdd1 100644
--- a/src/lib/elm_hoversel_item.eo
+++ b/src/lib/elm_hoversel_item.eo
@@ -35,8 +35,8 @@ class Elm_Hoversel_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
+ Eo.Base.destructor;
Elm_Widget_Item.signal_emit;
- Elm_Widget_Item.del_pre;
Elm_Widget_Item.part_text.get;
Elm_Widget_Item.style.get;
Elm_Widget_Item.style.set;
diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c
index b789d8246..09342713b 100644
--- a/src/lib/elm_index.c
+++ b/src/lib/elm_index.c
@@ -426,15 +426,15 @@ _elm_index_elm_layout_sizing_eval(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED)
evas_object_size_hint_max_set(obj, -1, -1);
}
-EOLIAN static Eina_Bool
-_elm_index_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Index_Item_Data *it)
+EOLIAN static void
+_elm_index_item_eo_base_destructor(Eo *eo_item EINA_UNUSED, Elm_Index_Item_Data *it)
{
ELM_INDEX_DATA_GET(WIDGET(it), sd);
_item_free(it);
_index_box_clear(WIDGET(it), sd->level);
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_INDEX_ITEM_CLASS, eo_destructor());
}
EOLIAN static void
diff --git a/src/lib/elm_index_item.eo b/src/lib/elm_index_item.eo
index a99a898d3..fe88f6024 100644
--- a/src/lib/elm_index_item.eo
+++ b/src/lib/elm_index_item.eo
@@ -40,7 +40,7 @@ class Elm_Index_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
+ Eo.Base.destructor;
Elm_Widget_Item.access_register;
- Elm_Widget_Item.del_pre;
}
}
diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c
index 2c6093e52..cc68d6516 100644
--- a/src/lib/elm_menu.c
+++ b/src/lib/elm_menu.c
@@ -52,11 +52,6 @@ _item_del(Elm_Object_Item *eo_item)
EINA_LIST_FREE(item->submenu.items, child)
_item_del(child);
- eina_stringshare_del(item->label);
- evas_object_del(item->submenu.hv);
- evas_object_del(item->submenu.location);
- eina_stringshare_del(item->icon_str);
-
eo_del(eo_item);
}
@@ -943,13 +938,14 @@ _elm_menu_item_add_helper(Evas_Object *obj,
_sizing_eval(obj);
}
-EOLIAN static Eina_Bool
-_elm_menu_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Menu_Item_Data *item)
+EOLIAN static void
+_elm_menu_item_eo_base_destructor(Eo *eo_item, Elm_Menu_Item_Data *item)
{
ELM_MENU_DATA_GET(WIDGET(item), sd);
elm_menu_item_subitems_clear(eo_item);
eina_stringshare_del(item->label);
+ eina_stringshare_del(item->icon_str);
evas_object_del(item->content);
evas_object_del(item->submenu.hv);
evas_object_del(item->submenu.location);
@@ -963,7 +959,7 @@ _elm_menu_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Menu_Item_Data *item)
if (sd->dbus_menu)
_elm_dbus_menu_item_delete(sd->dbus_menu, item->dbus_idx);
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_MENU_ITEM_CLASS, eo_destructor());
}
EOLIAN static void
diff --git a/src/lib/elm_menu_item.eo b/src/lib/elm_menu_item.eo
index 4ad4241ee..ea80ac800 100644
--- a/src/lib/elm_menu_item.eo
+++ b/src/lib/elm_menu_item.eo
@@ -122,7 +122,7 @@ class Elm_Menu_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
Elm_Widget_Item.disable;
Elm_Widget_Item.part_text.get;
Elm_Widget_Item.part_text.set;
diff --git a/src/lib/elm_multibuttonentry_item.eo b/src/lib/elm_multibuttonentry_item.eo
index 2e42fc8f0..5f05b0d5c 100644
--- a/src/lib/elm_multibuttonentry_item.eo
+++ b/src/lib/elm_multibuttonentry_item.eo
@@ -46,7 +46,7 @@ class Elm_Multibuttonentry_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
Elm_Widget_Item.signal_emit;
Elm_Widget_Item.part_text.get;
Elm_Widget_Item.part_text.set;
diff --git a/src/lib/elm_popup_item.eo b/src/lib/elm_popup_item.eo
index cfdc57b5b..bf7ffe3b1 100644
--- a/src/lib/elm_popup_item.eo
+++ b/src/lib/elm_popup_item.eo
@@ -3,7 +3,7 @@ class Elm_Popup_Item(Elm_Widget_Item)
eo_prefix: elm_obj_popup_item;
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
Elm_Widget_Item.disable;
Elm_Widget_Item.signal_emit;
Elm_Widget_Item.part_text.get;
diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c
index f3d6a1d7b..670b58df7 100644
--- a/src/lib/elm_segment_control.c
+++ b/src/lib/elm_segment_control.c
@@ -491,15 +491,15 @@ _elm_segment_control_item_elm_widget_item_part_content_get(Eo *eo_item EINA_UNUS
return edje_object_part_swallow_get(VIEW(item), part);
}
-static Eina_Bool
-_elm_segment_control_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Segment_Control_Item_Data *item)
+static void
+_elm_segment_control_item_eo_base_destructor(Eo *eo_item, Elm_Segment_Control_Item_Data *item)
{
ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(item), sd);
_item_free(item);
_update_list(sd);
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_SEGMENT_CONTROL_ITEM_CLASS, eo_destructor());
}
static char *
diff --git a/src/lib/elm_segment_control_item.eo b/src/lib/elm_segment_control_item.eo
index 0d4d7f228..317ef2b44 100644
--- a/src/lib/elm_segment_control_item.eo
+++ b/src/lib/elm_segment_control_item.eo
@@ -54,11 +54,11 @@ class Elm_Segment_Control_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
+ Eo.Base.destructor;
Elm_Widget_Item.access_register;
Elm_Widget_Item.part_text.get;
Elm_Widget_Item.part_text.set;
Elm_Widget_Item.part_content.get;
Elm_Widget_Item.part_content.set;
- Elm_Widget_Item.del_pre;
}
}
diff --git a/src/lib/elm_slideshow.c b/src/lib/elm_slideshow.c
index 4eaf7e918..798b57d23 100644
--- a/src/lib/elm_slideshow.c
+++ b/src/lib/elm_slideshow.c
@@ -290,10 +290,10 @@ _timer_cb(void *data)
return ECORE_CALLBACK_CANCEL;
}
-EOLIAN static Eina_Bool
-_elm_slideshow_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Slideshow_Item_Data *item)
+EOLIAN static void
+_elm_slideshow_item_eo_base_destructor(Eo *eo_item, Elm_Slideshow_Item_Data *item)
{
- ELM_SLIDESHOW_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE);
+ ELM_SLIDESHOW_DATA_GET_OR_RETURN(WIDGET(item), sd);
if (sd->previous == item) sd->previous = NULL;
if (sd->current == item)
@@ -317,7 +317,7 @@ _elm_slideshow_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Slideshow_Item_Data
if ((VIEW(item)) && (item->itc->func.del))
item->itc->func.del(elm_object_item_data_get(eo_item), VIEW(item));
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_SLIDESHOW_ITEM_CLASS, eo_destructor());
}
EOLIAN static void
diff --git a/src/lib/elm_slideshow_item.eo b/src/lib/elm_slideshow_item.eo
index ffe6c59f5..609d60e32 100644
--- a/src/lib/elm_slideshow_item.eo
+++ b/src/lib/elm_slideshow_item.eo
@@ -36,6 +36,6 @@ class Elm_Slideshow_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
- Elm_Widget_Item.del_pre;
+ Eo.Base.destructor;
}
}
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index f0b495247..6b4f90d89 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -2218,8 +2218,8 @@ _access_state_cb(void *data, Evas_Object *obj EINA_UNUSED)
return NULL;
}
-EOLIAN static Eina_Bool
-_elm_toolbar_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item)
+EOLIAN static void
+_elm_toolbar_item_eo_base_destructor(Eo *eo_item, Elm_Toolbar_Item_Data *item)
{
Elm_Toolbar_Item_Data *next = NULL;
Evas_Object *obj;
@@ -2247,7 +2247,7 @@ _elm_toolbar_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Toolbar_I
if (item != sd->more_item)
eo_do(obj, elm_obj_widget_theme_apply());
- return EINA_TRUE;
+ eo_do_super(eo_item, ELM_TOOLBAR_ITEM_CLASS, eo_destructor());
}
static void
diff --git a/src/lib/elm_toolbar_item.eo b/src/lib/elm_toolbar_item.eo
index 8cc3ecf20..da26ecb44 100644
--- a/src/lib/elm_toolbar_item.eo
+++ b/src/lib/elm_toolbar_item.eo
@@ -415,8 +415,8 @@ class Elm_Toolbar_Item(Elm_Widget_Item)
}
implements {
Eo.Base.constructor;
+ Eo.Base.destructor;
Elm_Widget_Item.disable;
- Elm_Widget_Item.del_pre;
Elm_Widget_Item.focus.set;
Elm_Widget_Item.focus.get;
Elm_Widget_Item.part_text.get;