diff options
author | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-09-17 16:44:05 +0300 |
---|---|---|
committer | Daniel Zaoui <daniel.zaoui@samsung.com> | 2014-09-23 16:02:56 +0300 |
commit | 989b193d98ef0fb6d81adfe97faa6628b7ca699c (patch) | |
tree | 8ca9501c25b88d0e8ef2f08ee9c8bd72f046e450 | |
parent | b7fecf3139745b7dbbba0b9e38adf7d8d297484e (diff) | |
download | elementary-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.c | 11 | ||||
-rw-r--r-- | src/lib/elc_hoversel.c | 12 | ||||
-rw-r--r-- | src/lib/elc_multibuttonentry.c | 8 | ||||
-rw-r--r-- | src/lib/elc_popup.c | 8 | ||||
-rw-r--r-- | src/lib/elm_ctxpopup_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_diskselector.c | 6 | ||||
-rw-r--r-- | src/lib/elm_diskselector_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_hoversel_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_index.c | 6 | ||||
-rw-r--r-- | src/lib/elm_index_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_menu.c | 12 | ||||
-rw-r--r-- | src/lib/elm_menu_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_multibuttonentry_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_popup_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_segment_control.c | 6 | ||||
-rw-r--r-- | src/lib/elm_segment_control_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_slideshow.c | 8 | ||||
-rw-r--r-- | src/lib/elm_slideshow_item.eo | 2 | ||||
-rw-r--r-- | src/lib/elm_toolbar.c | 6 | ||||
-rw-r--r-- | src/lib/elm_toolbar_item.eo | 2 |
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; |