summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2015-01-08 11:13:02 +0900
committerChunEon Park <hermet@hermet.pe.kr>2015-01-08 11:13:02 +0900
commite565acfce4034bce3506aa735771b8615da6d892 (patch)
tree4b758353815dd039b365e3875c85e0634fdf1607
parent5dbddf6fe02c64db4d7fa5daf1703bc967d3f143 (diff)
genlist: fix crash issue.
"selected" list has the eo list, not elm_gen_item. this is side effect caused while on refactoring genlist.
-rw-r--r--src/lib/elm_genlist.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 36333a63d..b8e3b6590 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -5719,9 +5719,10 @@ _item_select(Elm_Gen_Item *it)
5719 if (!sd->multi) 5719 if (!sd->multi)
5720 { 5720 {
5721 const Eina_List *l, *ll; 5721 const Eina_List *l, *ll;
5722 Elm_Gen_Item *it2; 5722 Elm_Object_Item *eo_it2;
5723 EINA_LIST_FOREACH_SAFE(sd->selected, l, ll, it2) 5723 EINA_LIST_FOREACH_SAFE(sd->selected, l, ll, eo_it2)
5724 { 5724 {
5725 ELM_GENLIST_ITEM_DATA_GET(eo_it2, it2);
5725 if (it2 != it) _item_unselect(it2); 5726 if (it2 != it) _item_unselect(it2);
5726 } 5727 }
5727 } 5728 }
@@ -6341,11 +6342,15 @@ _elm_genlist_multi_select_set(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bo
6341 if (!sd->multi && sd->selected) 6342 if (!sd->multi && sd->selected)
6342 { 6343 {
6343 Eina_List *l, *ll; 6344 Eina_List *l, *ll;
6344 Elm_Gen_Item *it; 6345 Elm_Object_Item *eo_it;
6345 Elm_Gen_Item *last = sd->selected->data; 6346 Elm_Object_Item *last = sd->selected->data;
6346 EINA_LIST_FOREACH_SAFE(sd->selected, l, ll, it) 6347 EINA_LIST_FOREACH_SAFE(sd->selected, l, ll, eo_it)
6347 { 6348 {
6348 if (last != it) _item_unselect(it); 6349 if (last != eo_it)
6350 {
6351 ELM_GENLIST_ITEM_DATA_GET(eo_it, it);
6352 _item_unselect(it);
6353 }
6349 } 6354 }
6350 } 6355 }
6351} 6356}