elm genlist: Fixed elm_genlist_item_insert_after() bug. Patch by

Chanwook Jung <joey.jung@samsung.com>

From: 정찬욱 [mailto:joey.jung@samsung.com]
Sent: Friday, August 19, 2011 4:40 PM
Subject: [E-devel] [Patch] bug in elm_genlist_item_insert_after


Dear developers.

I found the problem when group item is added using
elm_genlist_item_insert_after in genlist.
The new group item is refer to the group item list not item list.
Therefore
it is inserted in the wrong place.
I modified that if the new group item is inserted, refer to the last
item
of the after group item.
Thanks.


SVN revision: 62645
This commit is contained in:
Daniel Juyung Seo 2011-08-21 05:27:19 +00:00
parent 98ac8c429a
commit 5814a8b7cb
2 changed files with 17 additions and 5 deletions

View File

@ -42,3 +42,4 @@ Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
Sung W. Park <sungwoo@gmail.com>
Thierry el Borgi <thierry@substantiel.fr>
Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
Chanwook Jung <joey.jung@samsung.com>

View File

@ -3485,17 +3485,28 @@ elm_genlist_item_insert_after(Evas_Object *obj,
{
if ((flags & ELM_GENLIST_ITEM_GROUP) &&
(after->flags & ELM_GENLIST_ITEM_GROUP))
wd->group_items = eina_list_append_relative(wd->group_items, it,
after);
{
Elm_Genlist_Item *it2 = NULL;
Eina_List *ll = eina_list_last(after->items);
if (ll) it2 = ll->data;
else it2 = after;
wd->items =
eina_inlist_append_relative(wd->items, EINA_INLIST_GET(it),
EINA_INLIST_GET(it2));
it->rel = it2;
wd->group_items = eina_list_append_relative(wd->group_items, it,
after);
}
}
else
{
it->parent->items = eina_list_append_relative(it->parent->items, it,
after);
wd->items = eina_inlist_append_relative(wd->items, EINA_INLIST_GET(it),
EINA_INLIST_GET(after));
it->rel = after;
}
wd->items = eina_inlist_append_relative(wd->items, EINA_INLIST_GET(it),
EINA_INLIST_GET(after));
it->rel = after;
it->rel->relcount++;
it->before = EINA_FALSE;
_item_queue(wd, it);