sanghyeonlee pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0181a940f1f977d0da5b8b1112c9737921e01fed

commit 0181a940f1f977d0da5b8b1112c9737921e01fed
Author: SangHyeon Lee <sh10233....@samsung.com>
Date:   Thu Apr 28 16:00:00 2016 +0900

    Revert "genlist: recalc item size after item content field updated"
    
    This reverts commit b48d3eb04e4475cf160deedaa3791834fa67ac9f.
    
    This patch can be occurred performance issue.
    update is needed for only non-homogeneous case.
    I'll revert patch and update new patch in phabricator for check.
---
 src/lib/elementary/elm_genlist.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index 2b5700c..cdb6f99 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -7094,9 +7094,8 @@ _elm_genlist_item_fields_update(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it,
                                    &GL_IT(it)->deco_all_contents,
                                    "contents", parts);
           }
-        //forcely recalc about item because even same content, size can be 
changed.
-        it->item->mincalcd = EINA_FALSE;
-        it->item->block->must_recalc = EINA_TRUE;
+        if (it->has_contents != (!!it->contents))
+          it->item->mincalcd = EINA_FALSE;
         it->has_contents = !!it->contents;
         if (it->item->type == ELM_GENLIST_ITEM_NONE)
           {
@@ -7113,10 +7112,7 @@ _elm_genlist_item_fields_update(Eo *eo_item EINA_UNUSED, 
Elm_Gen_Item *it,
      _item_state_realize(it, VIEW(it), parts);
 
    if (!it->item->mincalcd)
-     {
-        ELM_SAFE_FREE(it->item->wsd->calc_job, ecore_job_del);
-        it->item->wsd->calc_job = ecore_job_add(_calc_job, it->item->wsd->obj);
-     }
+     elm_genlist_item_update(eo_item);
 }
 
 EOLIAN static void

-- 


Reply via email to