forked from enlightenment/efl
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
This commit is contained in:
parent
b5409faf8b
commit
82060c5798
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue