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)
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)
1035 ELM_SAFE_FREE(sd->list, evas_object_del); 1035 ELM_SAFE_FREE(sd->list, evas_object_del);
1036} 1036}
1037 1037
1038EOLIAN static Eina_Bool 1038EOLIAN static void
1039_elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it, 1039_elm_ctxpopup_item_eo_base_destructor(Eo *eo_ctxpopup_it,
1040 Elm_Ctxpopup_Item_Data *ctxpopup_it) 1040 Elm_Ctxpopup_Item_Data *ctxpopup_it)
1041{ 1041{
1042 Evas_Object *list; 1042 Evas_Object *list;
1043 1043
@@ -1054,7 +1054,7 @@ _elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it,
1054 sd->items = eina_list_remove(sd->items, eo_ctxpopup_it); 1054 sd->items = eina_list_remove(sd->items, eo_ctxpopup_it);
1055 evas_object_hide(WIDGET(ctxpopup_it)); 1055 evas_object_hide(WIDGET(ctxpopup_it));
1056 1056
1057 return EINA_TRUE; 1057 goto end;
1058 } 1058 }
1059 1059
1060 if (ctxpopup_it->list_item) 1060 if (ctxpopup_it->list_item)
@@ -1062,7 +1062,8 @@ _elm_ctxpopup_item_elm_widget_item_del_pre(Eo *eo_ctxpopup_it,
1062 sd->items = eina_list_remove(sd->items, eo_ctxpopup_it); 1062 sd->items = eina_list_remove(sd->items, eo_ctxpopup_it);
1063 if (sd->list_visible) elm_layout_sizing_eval(WIDGET(ctxpopup_it)); 1063 if (sd->list_visible) elm_layout_sizing_eval(WIDGET(ctxpopup_it));
1064 1064
1065 return EINA_TRUE; 1065end:
1066 eo_do_super(eo_ctxpopup_it, ELM_CTXPOPUP_ITEM_CLASS, eo_destructor());
1066} 1067}
1067 1068
1068EOLIAN static Eina_Bool 1069EOLIAN 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,
275 return elm_object_style_get(VIEW(it)); 275 return elm_object_style_get(VIEW(it));
276} 276}
277 277
278EOLIAN static Eina_Bool 278EOLIAN static void
279_elm_hoversel_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Hoversel_Item_Data *item) 279_elm_hoversel_item_eo_base_destructor(Eo *eo_item, Elm_Hoversel_Item_Data *item)
280{ 280{
281 ELM_HOVERSEL_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE); 281 ELM_HOVERSEL_DATA_GET_OR_RETURN(WIDGET(item), sd);
282 282
283 elm_hoversel_hover_end(WIDGET(item)); 283 elm_hoversel_hover_end(WIDGET(item));
284 sd->items = eina_list_remove(sd->items, eo_item); 284 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
286 eina_stringshare_del(item->icon_file); 286 eina_stringshare_del(item->icon_file);
287 eina_stringshare_del(item->icon_group); 287 eina_stringshare_del(item->icon_group);
288 288
289 return EINA_TRUE; 289 eo_do_super(eo_item, ELM_HOVERSEL_ITEM_CLASS, eo_destructor());
290} 290}
291 291
292EOLIAN static void 292EOLIAN static void
@@ -310,10 +310,6 @@ _elm_hoversel_evas_object_smart_del(Eo *obj, Elm_Hoversel_Data *sd)
310 310
311 EINA_LIST_FREE(sd->items, eo_item) 311 EINA_LIST_FREE(sd->items, eo_item)
312 { 312 {
313 ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
314 eina_stringshare_del(item->label);
315 eina_stringshare_del(item->icon_file);
316 eina_stringshare_del(item->icon_group);
317 eo_del(eo_item); 313 eo_del(eo_item);
318 } 314 }
319 elm_hoversel_hover_parent_set(obj, NULL); 315 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
588 return edje_object_part_text_get(item->button, src_part); 588 return edje_object_part_text_get(item->button, src_part);
589} 589}
590 590
591EOLIAN static Eina_Bool 591EOLIAN static void
592_elm_multibuttonentry_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, 592_elm_multibuttonentry_item_eo_base_destructor(Eo *eo_it,
593 Elm_Multibuttonentry_Item_Data *it EINA_UNUSED) 593 Elm_Multibuttonentry_Item_Data *it)
594{ 594{
595 _button_item_del(it); 595 _button_item_del(it);
596 596
597 return EINA_TRUE; 597 eo_do_super(eo_it, ELM_MULTIBUTTONENTRY_ITEM_CLASS, eo_destructor());
598} 598}
599 599
600static void 600static 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)
771 elm_layout_signal_emit(VIEW(it), "elm,state,item,enabled", "elm"); 771 elm_layout_signal_emit(VIEW(it), "elm,state,item,enabled", "elm");
772} 772}
773 773
774EOLIAN static Eina_Bool 774EOLIAN static void
775_elm_popup_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Popup_Item_Data *it) 775_elm_popup_item_eo_base_destructor(Eo *eo_it, Elm_Popup_Item_Data *it)
776{ 776{
777 ELM_POPUP_ITEM_CHECK_OR_RETURN(it, EINA_FALSE); 777 ELM_POPUP_ITEM_CHECK_OR_RETURN(it);
778 ELM_POPUP_DATA_GET(WIDGET(it), sd); 778 ELM_POPUP_DATA_GET(WIDGET(it), sd);
779 779
780 evas_object_del(it->icon); 780 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
785 sd->items = NULL; 785 sd->items = NULL;
786 _list_del(sd); 786 _list_del(sd);
787 } 787 }
788 return EINA_TRUE; 788 eo_do_super(eo_it, ELM_POPUP_ITEM_CLASS, eo_destructor());
789} 789}
790 790
791EOLIAN static void 791EOLIAN 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)
47 } 47 }
48 implements { 48 implements {
49 Eo.Base.constructor; 49 Eo.Base.constructor;
50 Elm_Widget_Item.del_pre; 50 Eo.Base.destructor;
51 Elm_Widget_Item.disable; 51 Elm_Widget_Item.disable;
52 Elm_Widget_Item.signal_emit; 52 Elm_Widget_Item.signal_emit;
53 Elm_Widget_Item.part_text.get; 53 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)
348 _resize_cb(NULL, NULL, obj, NULL); 348 _resize_cb(NULL, NULL, obj, NULL);
349} 349}
350 350
351EOLIAN static Eina_Bool 351EOLIAN static void
352_elm_diskselector_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Diskselector_Item_Data *it) 352_elm_diskselector_item_eo_base_destructor(Eo *eo_it, Elm_Diskselector_Item_Data *it)
353{ 353{
354 Elm_Diskselector_Item_Data *item2, *dit; 354 Elm_Diskselector_Item_Data *item2, *dit;
355 Eina_List *l; 355 Eina_List *l;
@@ -454,7 +454,7 @@ _elm_diskselector_item_elm_widget_item_del_pre(Eo *eo_it EINA_UNUSED, Elm_Diskse
454 454
455 _sizing_eval(obj); 455 _sizing_eval(obj);
456 456
457 return EINA_TRUE; 457 eo_do_super(eo_it, ELM_DISKSELECTOR_CLASS, eo_destructor());
458} 458}
459 459
460EOLIAN static void 460EOLIAN 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)
95 } 95 }
96 implements { 96 implements {
97 Eo.Base.constructor; 97 Eo.Base.constructor;
98 Elm_Widget_Item.del_pre; 98 Eo.Base.destructor;
99 Elm_Widget_Item.part_text.get; 99 Elm_Widget_Item.part_text.get;
100 Elm_Widget_Item.part_text.set; 100 Elm_Widget_Item.part_text.set;
101 Elm_Widget_Item.part_content.get; 101 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)
35 } 35 }
36 implements { 36 implements {
37 Eo.Base.constructor; 37 Eo.Base.constructor;
38 Eo.Base.destructor;
38 Elm_Widget_Item.signal_emit; 39 Elm_Widget_Item.signal_emit;
39 Elm_Widget_Item.del_pre;
40 Elm_Widget_Item.part_text.get; 40 Elm_Widget_Item.part_text.get;
41 Elm_Widget_Item.style.get; 41 Elm_Widget_Item.style.get;
42 Elm_Widget_Item.style.set; 42 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)
426 evas_object_size_hint_max_set(obj, -1, -1); 426 evas_object_size_hint_max_set(obj, -1, -1);
427} 427}
428 428
429EOLIAN static Eina_Bool 429EOLIAN static void
430_elm_index_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Index_Item_Data *it) 430_elm_index_item_eo_base_destructor(Eo *eo_item EINA_UNUSED, Elm_Index_Item_Data *it)
431{ 431{
432 ELM_INDEX_DATA_GET(WIDGET(it), sd); 432 ELM_INDEX_DATA_GET(WIDGET(it), sd);
433 433
434 _item_free(it); 434 _item_free(it);
435 _index_box_clear(WIDGET(it), sd->level); 435 _index_box_clear(WIDGET(it), sd->level);
436 436
437 return EINA_TRUE; 437 eo_do_super(eo_item, ELM_INDEX_ITEM_CLASS, eo_destructor());
438} 438}
439 439
440EOLIAN static void 440EOLIAN 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)
40 } 40 }
41 implements { 41 implements {
42 Eo.Base.constructor; 42 Eo.Base.constructor;
43 Eo.Base.destructor;
43 Elm_Widget_Item.access_register; 44 Elm_Widget_Item.access_register;
44 Elm_Widget_Item.del_pre;
45 } 45 }
46} 46}
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)
52 EINA_LIST_FREE(item->submenu.items, child) 52 EINA_LIST_FREE(item->submenu.items, child)
53 _item_del(child); 53 _item_del(child);
54 54
55 eina_stringshare_del(item->label);
56 evas_object_del(item->submenu.hv);
57 evas_object_del(item->submenu.location);
58 eina_stringshare_del(item->icon_str);
59
60 eo_del(eo_item); 55 eo_del(eo_item);
61} 56}
62 57
@@ -943,13 +938,14 @@ _elm_menu_item_add_helper(Evas_Object *obj,
943 _sizing_eval(obj); 938 _sizing_eval(obj);
944} 939}
945 940
946EOLIAN static Eina_Bool 941EOLIAN static void
947_elm_menu_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Menu_Item_Data *item) 942_elm_menu_item_eo_base_destructor(Eo *eo_item, Elm_Menu_Item_Data *item)
948{ 943{
949 ELM_MENU_DATA_GET(WIDGET(item), sd); 944 ELM_MENU_DATA_GET(WIDGET(item), sd);
950 945
951 elm_menu_item_subitems_clear(eo_item); 946 elm_menu_item_subitems_clear(eo_item);
952 eina_stringshare_del(item->label); 947 eina_stringshare_del(item->label);
948 eina_stringshare_del(item->icon_str);
953 evas_object_del(item->content); 949 evas_object_del(item->content);
954 evas_object_del(item->submenu.hv); 950 evas_object_del(item->submenu.hv);
955 evas_object_del(item->submenu.location); 951 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)
963 if (sd->dbus_menu) 959 if (sd->dbus_menu)
964 _elm_dbus_menu_item_delete(sd->dbus_menu, item->dbus_idx); 960 _elm_dbus_menu_item_delete(sd->dbus_menu, item->dbus_idx);
965 961
966 return EINA_TRUE; 962 eo_do_super(eo_item, ELM_MENU_ITEM_CLASS, eo_destructor());
967} 963}
968 964
969EOLIAN static void 965EOLIAN 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)
122 } 122 }
123 implements { 123 implements {
124 Eo.Base.constructor; 124 Eo.Base.constructor;
125 Elm_Widget_Item.del_pre; 125 Eo.Base.destructor;
126 Elm_Widget_Item.disable; 126 Elm_Widget_Item.disable;
127 Elm_Widget_Item.part_text.get; 127 Elm_Widget_Item.part_text.get;
128 Elm_Widget_Item.part_text.set; 128 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)
46 } 46 }
47 implements { 47 implements {
48 Eo.Base.constructor; 48 Eo.Base.constructor;
49 Elm_Widget_Item.del_pre; 49 Eo.Base.destructor;
50 Elm_Widget_Item.signal_emit; 50 Elm_Widget_Item.signal_emit;
51 Elm_Widget_Item.part_text.get; 51 Elm_Widget_Item.part_text.get;
52 Elm_Widget_Item.part_text.set; 52 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)
3 eo_prefix: elm_obj_popup_item; 3 eo_prefix: elm_obj_popup_item;
4 implements { 4 implements {
5 Eo.Base.constructor; 5 Eo.Base.constructor;
6 Elm_Widget_Item.del_pre; 6 Eo.Base.destructor;
7 Elm_Widget_Item.disable; 7 Elm_Widget_Item.disable;
8 Elm_Widget_Item.signal_emit; 8 Elm_Widget_Item.signal_emit;
9 Elm_Widget_Item.part_text.get; 9 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
491 return edje_object_part_swallow_get(VIEW(item), part); 491 return edje_object_part_swallow_get(VIEW(item), part);
492} 492}
493 493
494static Eina_Bool 494static void
495_elm_segment_control_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Segment_Control_Item_Data *item) 495_elm_segment_control_item_eo_base_destructor(Eo *eo_item, Elm_Segment_Control_Item_Data *item)
496{ 496{
497 ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(item), sd); 497 ELM_SEGMENT_CONTROL_DATA_GET(WIDGET(item), sd);
498 498
499 _item_free(item); 499 _item_free(item);
500 _update_list(sd); 500 _update_list(sd);
501 501
502 return EINA_TRUE; 502 eo_do_super(eo_item, ELM_SEGMENT_CONTROL_ITEM_CLASS, eo_destructor());
503} 503}
504 504
505static char * 505static 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)
54 } 54 }
55 implements { 55 implements {
56 Eo.Base.constructor; 56 Eo.Base.constructor;
57 Eo.Base.destructor;
57 Elm_Widget_Item.access_register; 58 Elm_Widget_Item.access_register;
58 Elm_Widget_Item.part_text.get; 59 Elm_Widget_Item.part_text.get;
59 Elm_Widget_Item.part_text.set; 60 Elm_Widget_Item.part_text.set;
60 Elm_Widget_Item.part_content.get; 61 Elm_Widget_Item.part_content.get;
61 Elm_Widget_Item.part_content.set; 62 Elm_Widget_Item.part_content.set;
62 Elm_Widget_Item.del_pre;
63 } 63 }
64} 64}
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)
290 return ECORE_CALLBACK_CANCEL; 290 return ECORE_CALLBACK_CANCEL;
291} 291}
292 292
293EOLIAN static Eina_Bool 293EOLIAN static void
294_elm_slideshow_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Slideshow_Item_Data *item) 294_elm_slideshow_item_eo_base_destructor(Eo *eo_item, Elm_Slideshow_Item_Data *item)
295{ 295{
296 ELM_SLIDESHOW_DATA_GET_OR_RETURN_VAL(WIDGET(item), sd, EINA_FALSE); 296 ELM_SLIDESHOW_DATA_GET_OR_RETURN(WIDGET(item), sd);
297 297
298 if (sd->previous == item) sd->previous = NULL; 298 if (sd->previous == item) sd->previous = NULL;
299 if (sd->current == item) 299 if (sd->current == item)
@@ -317,7 +317,7 @@ _elm_slideshow_item_elm_widget_item_del_pre(Eo *eo_item, Elm_Slideshow_Item_Data
317 if ((VIEW(item)) && (item->itc->func.del)) 317 if ((VIEW(item)) && (item->itc->func.del))
318 item->itc->func.del(elm_object_item_data_get(eo_item), VIEW(item)); 318 item->itc->func.del(elm_object_item_data_get(eo_item), VIEW(item));
319 319
320 return EINA_TRUE; 320 eo_do_super(eo_item, ELM_SLIDESHOW_ITEM_CLASS, eo_destructor());
321} 321}
322 322
323EOLIAN static void 323EOLIAN 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)
36 } 36 }
37 implements { 37 implements {
38 Eo.Base.constructor; 38 Eo.Base.constructor;
39 Elm_Widget_Item.del_pre; 39 Eo.Base.destructor;
40 } 40 }
41} 41}
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)
2218 return NULL; 2218 return NULL;
2219} 2219}
2220 2220
2221EOLIAN static Eina_Bool 2221EOLIAN static void
2222_elm_toolbar_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item) 2222_elm_toolbar_item_eo_base_destructor(Eo *eo_item, Elm_Toolbar_Item_Data *item)
2223{ 2223{
2224 Elm_Toolbar_Item_Data *next = NULL; 2224 Elm_Toolbar_Item_Data *next = NULL;
2225 Evas_Object *obj; 2225 Evas_Object *obj;
@@ -2247,7 +2247,7 @@ _elm_toolbar_item_elm_widget_item_del_pre(Eo *eo_item EINA_UNUSED, Elm_Toolbar_I
2247 if (item != sd->more_item) 2247 if (item != sd->more_item)
2248 eo_do(obj, elm_obj_widget_theme_apply()); 2248 eo_do(obj, elm_obj_widget_theme_apply());
2249 2249
2250 return EINA_TRUE; 2250 eo_do_super(eo_item, ELM_TOOLBAR_ITEM_CLASS, eo_destructor());
2251} 2251}
2252 2252
2253static void 2253static 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)
415 } 415 }
416 implements { 416 implements {
417 Eo.Base.constructor; 417 Eo.Base.constructor;
418 Eo.Base.destructor;
418 Elm_Widget_Item.disable; 419 Elm_Widget_Item.disable;
419 Elm_Widget_Item.del_pre;
420 Elm_Widget_Item.focus.set; 420 Elm_Widget_Item.focus.set;
421 Elm_Widget_Item.focus.get; 421 Elm_Widget_Item.focus.get;
422 Elm_Widget_Item.part_text.get; 422 Elm_Widget_Item.part_text.get;