sanghyeonlee pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7b6cd2862da1d677fdcc6fb231bb3c07e1f641cb

commit 7b6cd2862da1d677fdcc6fb231bb3c07e1f641cb
Author: SangHyeon Lee <[email protected]>
Date:   Wed Jan 4 14:32:11 2017 +0900

    genlist : fixing wrong item realize bug when block is changed
    
    Summary :
    If current realized item is changed to another block which
    was unrealized, item still stay in realized states because
    new block is unrealized.
    so when adding item to new block, adding realized state check
    to change block realized state correctly.
    
    Test Plan :
    The issue is happen in eflete edc group list view.
    when you expand and contract the tree view, if child is
    bigger then block size, items under the current tree still
    floating on the child items.
    
    Signed-off-by: SangHyeon Lee <[email protected]>
---
 src/lib/elementary/elm_genlist.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 1d6a040..5035a44 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -4533,6 +4533,8 @@ newblock:
                        itbp->items = eina_list_append(itbp->items, it2);
                        it2->item->block = itbp;
                        itbp->count++;
+
+                       if (it2->realized) itbp->realized = EINA_TRUE;
                     }
 
                   done = EINA_TRUE;
@@ -4558,6 +4560,8 @@ newblock:
                        itbn->items = eina_list_prepend(itbn->items, it2);
                        it2->item->block = itbn;
                        itbn->count++;
+
+                       if (it2->realized) itbn->realized = EINA_TRUE;
                     }
 
                   done = EINA_TRUE;
@@ -4586,6 +4590,8 @@ newblock:
                   itb2->items = eina_list_prepend(itb2->items, it2);
                   it2->item->block = itb2;
                   itb2->count++;
+
+                  if (it2->realized) itb2->realized = EINA_TRUE;
                }
           }
      }

-- 


Reply via email to