hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=82060c5798c88a7a6a86d20329e9bedb154abea7

commit 82060c5798c88a7a6a86d20329e9bedb154abea7
Author: SangHyeon Jade Lee <[email protected]>
Date:   Wed Sep 19 09:21:31 2018 +0900

    elm_gengrid: fix item_show / bring_in deferred call.
    
    Summary:
    item_show / bring_in will be deferred, if object is not resized properly.
    the deferred call of item_show_region() is on the calc_job(),
    after calculating proper object, pan size, but still item is not placed,
    so target scrolling position is wrong while item_show_region().
    
    move deferred call to group_calculate() to get correct item position,
    after item_place() and group_item_place() were processed.
    
    This patch is reported on [[ https://phab.enlightenment.org/T7367 | T7367 
]].
    
    Test Plan: {F3302967}please check attached gengrid_example_01.c
    
    Reviewers: eagleeye, Hermet
    
    Reviewed By: Hermet
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T7367
    
    Differential Revision: https://phab.enlightenment.org/D7014
---
 src/lib/elementary/elm_gengrid.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 2c857a7177..0d99a59234 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -655,9 +655,6 @@ _calc_job(void *data)
 
         sd->nmax = nmax;
         evas_object_smart_changed(sd->pan_obj);
-
-        if (sd->show_region || sd->bring_in)
-          _item_show_region(sd);
      }
    sd->calc_job = NULL;
 }
@@ -2232,6 +2229,8 @@ _elm_gengrid_pan_efl_canvas_group_group_calculate(Eo *obj 
EINA_UNUSED, Elm_Gengr
           }
         sd->move_effect_enabled = EINA_FALSE;
      }
+   if (sd->show_region || sd->bring_in)
+     _item_show_region(sd);
 
    efl_event_callback_legacy_call
      (psd->wobj, ELM_INTERFACE_SCROLLABLE_EVENT_CHANGED, NULL);

-- 


Reply via email to