+static Eina_Bool
+_item_del_pre_hook(Elm_Object_Item *it)
+{
+ Widget_Data *wd;
+ Elm_Flipselector_Item *item, *item2;
+ Eina_List *l;
+
+ item = (Elm_Flipselector_Item *)it;
+ wd = elm_widget_data_get(WIDGET(item));
+ if (!wd) return EINA_FALSE;
+
+ if (wd->walking > 0)
+ {
+ item->deleted = EINA_TRUE;
+ return EINA_FALSE;
+ }
+
+ _flipselector_walk(wd);
+
+ EINA_LIST_FOREACH(wd->items, l, item2)
+ {
+ if (item2 == item)
+ {
+ wd->items = eina_list_remove_list(wd->items, l);
+ if (wd->current == l)
+ {
+ wd->current = l->prev;
+ if (!wd->current) wd->current = l->next;
+ if (wd->current)
+ {
+ item2 = wd->current->data;
+ _send_msg(wd, MSG_FLIP_DOWN, (char *)item2->label);
+ }
+ else
+ _send_msg(wd, MSG_FLIP_DOWN, "");
+ }
+ break;
+ }
+ }
+ eina_stringshare_del(item->label);
+ _sentinel_eval(wd);
+ _flipselector_unwalk(wd);
+
+ return EINA_TRUE;
+}
+