SIG_POP_FINISHED,
data);
_item_del(data);
+ elm_widget_item_free(data);
}
static void
return NULL;
}
+ elm_widget_item_del_pre_hook_set(it, _item_del_pre_hook);
elm_widget_item_text_set_hook_set(it, _item_text_set_hook);
elm_widget_item_text_get_hook_set(it, _item_text_get_hook);
elm_widget_item_content_set_hook_set(it, _item_content_set_hook);
edje_object_message_signal_process(VIEW(prev_it));
}
else
- _item_del(it);
+ {
+ _item_del(it);
+ elm_widget_item_free(it);
+ }
return content;
}
prev_l = l->prev;
wd->stack = eina_inlist_remove(wd->stack, l);
_item_del(EINA_INLIST_CONTAINER_GET(l, Elm_Naviframe_Item));
+ elm_widget_item_free(EINA_INLIST_CONTAINER_GET(l,
+ Elm_Naviframe_Item));
l = prev_l;
}
elm_naviframe_item_pop(WIDGET(navi_it));
EAPI void
elm_naviframe_item_del(Elm_Object_Item *it)
{
- ELM_OBJ_ITEM_CHECK_OR_RETURN(it);
- Elm_Naviframe_Item *navi_it;
- Widget_Data *wd;
-
- navi_it =(Elm_Naviframe_Item *) it;
- wd = elm_widget_data_get(WIDGET(navi_it));
- if (!wd) return;
-
- if (it == elm_naviframe_top_item_get(WIDGET(navi_it)))
- {
- wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(navi_it));
- _item_del(navi_it);
- //If the item is only one, the stack will be empty
- if (!wd->stack) return;
- navi_it = EINA_INLIST_CONTAINER_GET(wd->stack->last,
- Elm_Naviframe_Item);
- evas_object_show(VIEW(navi_it));
- evas_object_raise(VIEW(navi_it));
- edje_object_signal_emit(VIEW(navi_it), "elm,state,visible", "elm");
- }
- else
- {
- wd->stack = eina_inlist_remove(wd->stack, EINA_INLIST_GET(navi_it));
- _item_del(navi_it);
- }
+ elm_object_item_del(it);
}
EAPI void