From 82060c5798c88a7a6a86d20329e9bedb154abea7 Mon Sep 17 00:00:00 2001 From: SangHyeon Jade Lee Date: Wed, 19 Sep 2018 09:21:31 +0900 Subject: [PATCH] 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);