list: fix crash while setting nearest item in viewport
authorAmitesh Singh <amitesh.sh@samsung.com>
Sat, 15 Aug 2015 17:16:51 +0000 (22:46 +0530)
committerAmitesh Singh <amitesh.sh@samsung.com>
Sat, 15 Aug 2015 17:25:46 +0000 (22:55 +0530)
This is an example of classic code copy and paste mistake.
Probably inspired from similar code in genlist/gengrid.
We were actually deleting the other items (except selected one) in
viewport in _elm_list_nearest_visible_item_get() which results into crash
while deleting the list object.

@fix

Resolves: T2662

src/lib/elm_list.c

index 739df22..dddd7b4 100644 (file)
@@ -1233,7 +1233,6 @@ _elm_list_nearest_visible_item_get(Evas_Object *obj, Elm_List_Item_Data *it)
              if (ELM_RECTS_INCLUDE(vx, vy, vw, vh, cx, cy, cw, ch) &&
                  !elm_object_item_disabled_get(EO_OBJ(item)))
                {
-                  eina_list_free(item_list);
                   return item;
                }
           }
@@ -1248,12 +1247,10 @@ _elm_list_nearest_visible_item_get(Evas_Object *obj, Elm_List_Item_Data *it)
              if (ELM_RECTS_INCLUDE(vx, vy, vw, vh, cx, cy, cw, ch) &&
                  !elm_object_item_disabled_get(EO_OBJ(item)))
                {
-                  eina_list_free(item_list);
                   return item;
                }
           }
      }
-   eina_list_free(item_list);
 
    return it;
 }