elm_genlist: fix sub-items prepending
authorAndrii Kroitor <an.kroitor@samsung.com>
Fri, 28 Aug 2015 11:18:23 +0000 (20:18 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 28 Aug 2015 11:18:23 +0000 (20:18 +0900)
Summary:
fix sub-item position after prepending if parent item has no other
sub-items

Test Plan:
1. add genlist
2. add parent item
3. compare results of following actions:
 case 1: append sub-item "child1" and then prepend sub-item "child2"
 case 2: prepend sub-item "child2" and then append sub-item "child1"

ExR results are the same
CuR in case 2 sub-items are placed in wrong position

Reviewers: cedric, raster, reutskiy.v.v, SanghyeonLee, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2965

src/lib/elm_genlist.c

index c27f429a86ed343eecb9f115003b527295debfb2..687040f0d43cbb767c4b39fdc0b389bac64d26bd 100644 (file)
@@ -6112,6 +6112,9 @@ _elm_genlist_item_prepend(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, const Elm_G
         ELM_GENLIST_ITEM_DATA_GET(eo_parent, parent);
         ELM_GENLIST_ITEM_CHECK_OR_RETURN(parent, NULL);
         EINA_SAFETY_ON_FALSE_RETURN_VAL((obj == WIDGET(parent)), NULL);
+        /* first sub-item should allways be appended */
+        if (!parent->item->items)
+          return _elm_genlist_item_append(obj, sd, itc, data, eo_parent, type, func, func_data);
      }
 
    it = _elm_genlist_item_new