Summary:
There are four cases where items are deleted.
1. Select item and push back button.
2. Delete "X" part of item.
3. Calling elm_object_item_del().
4. MBE deleted.
Previous logic is can't support for all cases.
below problems were there.
eina_list_remove() called twice.
list data free twice.
@fix
Test Plan: elementary_test -> multibuttonentry test.
Reviewers: jpeg, cedric
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5030
Change-Id: I523afadb2c767b42ecc253f6b691e4de512c1199
EOLIAN static void
_elm_multibuttonentry_evas_object_smart_del(Eo *obj, Elm_Multibuttonentry_Data *sd)
{
+ Eina_List *l;
Elm_Object_Item *eo_item;
Elm_Multibuttonentry_Item_Filter *_item_filter = NULL;
- EINA_LIST_FREE(sd->items, eo_item)
+ EINA_LIST_FOREACH(sd->items, l, eo_item)
eo_del(eo_item);
- sd->items = NULL;
+ sd->items = eina_list_free(sd->items);
sd->selected_it = NULL;
sd->focused_it = NULL;