forked from enlightenment/efl
genlist needs to iterate exactly once over a fixed list when deselcting all items
the selected items list can be modified during deselect from the smart callback, which can cause an infinite loop here @fix
This commit is contained in:
parent
0008452aba
commit
5b07498ba1
|
@ -2377,10 +2377,14 @@ _item_multi_select_down(Elm_Genlist_Smart_Data *sd)
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_all_items_deselect(Elm_Genlist_Smart_Data *sd)
|
_all_items_deselect(Elm_Genlist_Smart_Data *sd)
|
||||||
{
|
{
|
||||||
|
Eina_List *l;
|
||||||
|
Elm_Object_Item *it;
|
||||||
|
|
||||||
if (!sd->selected) return EINA_FALSE;
|
if (!sd->selected) return EINA_FALSE;
|
||||||
|
|
||||||
while (sd->selected)
|
l = eina_list_clone(sd->selected);
|
||||||
elm_genlist_item_selected_set(sd->selected->data, EINA_FALSE);
|
EINA_LIST_FREE(l, it)
|
||||||
|
elm_genlist_item_selected_set(it, EINA_FALSE);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue