Fixing this issue is not trivial and will bring another issues like crashing.
So it is better to fix this in a development phase by refactoring list.
To fix this issue, the following are needed:
1. it->walking concept should be adopted instead of using just sd->walking.
sd->walking was introduced in
beb418d6
2. elm_widget_item_del() should be called instead of the combination of
_elm_list_item_free() + elm_widget_item_free()
This was introduced in
f343011d
return ((Elm_List_Item *)it)->label;
}
+/* FIXME: this _item_del_pre_hook is never been called at all!
+ To fix this,
+ 1. it->walking concept should be adopted.
+ 2. elm_widget_item_del() should be called instead of the combination of
+ _elm_list_item_free() + elm_widget_item_free()
+ */
static Eina_Bool
_item_del_pre_hook(Elm_Object_Item *it)
{