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

-- 


Reply via email to