nit = (Elm_Naviframe_Item *)it;
ELM_NAVIFRAME_DATA_GET(WIDGET(nit), sd);
+ nit->delete_me = EINA_TRUE;
+ if (nit->ref > 0) return EINA_FALSE;
+
if (nit->animator) ecore_animator_del(nit->animator);
top = (it == elm_naviframe_top_item_get(WIDGET(nit)));
it->popping = EINA_TRUE;
+ evas_object_ref(obj);
if (it->pop_cb)
{
+ it->ref++;
if (!it->pop_cb(it->pop_data, (Elm_Object_Item *)it))
{
+ it->ref--;
+ if (it->delete_me) elm_widget_item_del(it);
it->popping = EINA_FALSE;
+ evas_object_unref(obj);
+
return NULL;
}
+ it->ref--;
}
+ evas_object_unref(obj);
if (sd->preserve)
content = it->content;
Eina_Bool title_visible : 1;
Eina_Bool unfocusable : 1;
Eina_Bool popping : 1;
+ Eina_Bool delete_me : 1;
+ int ref;
};
typedef struct _Elm_Naviframe_Content_Item_Pair Elm_Naviframe_Content_Item_Pair;