Summary:
using EINA_LIST_FREE here double deletes 2 list items on every iteration
due to recursive list removals, which prevents some items from being
deleted as expected
fix T7266
Reviewers: netstar
Reviewed By: netstar
Subscribers: netstar, cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T7266
Differential Revision: https://phab.enlightenment.org/D6829
evas_object_event_callback_del
(sd->box, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb);
- EINA_LIST_FREE(sd->items, eo_it)
- efl_del(eo_it);
+ while (sd->items)
+ /* will be removed from list in _elm_list_item_elm_widget_item_del_pre */
+ efl_del(eina_list_data_get(sd->items));
sd->selected = eina_list_free(sd->selected);