raster pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fa002c0313df3cb10d3f56c1dfc09c539a157e35
commit fa002c0313df3cb10d3f56c1dfc09c539a157e35 Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Tue Oct 1 12:54:28 2013 +0900 genlist - fix homogenous to NOT go (un)realizing every item on queue --- src/lib/elm_genlist.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index 860e868..f713dce 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -4475,8 +4475,22 @@ _item_block_recalc(Item_Block *itb, if (!it->item->mincalcd) changed = EINA_TRUE; if (changed) { - _item_realize(it, in, EINA_TRUE); - _elm_genlist_item_unrealize(it, EINA_TRUE); + Eina_Bool doit = EINA_TRUE; + + if (itb->sd->homogeneous) + { + if ((it->group) && (itb->sd->group_item_height == 0)) + doit = EINA_TRUE; + else if (itb->sd->item_height == 0) + doit = EINA_TRUE; + else + doit = EINA_FALSE; + } + if (doit) + { + _item_realize(it, in, EINA_TRUE); + _elm_genlist_item_unrealize(it, EINA_TRUE); + } } } else --