bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=92b5d969bcb6948e52c2d1a305db9143eef8d812
commit 92b5d969bcb6948e52c2d1a305db9143eef8d812 Author: Marcel Hollerbach <[email protected]> Date: Fri Apr 26 17:19:59 2019 +0200 efl_ui_pager: ensure deletion behavior when a object is unpacked, we should ensure that only elements are deleted from the box when they are added. Reviewed-by: Cedric BAIL <[email protected]> Differential Revision: https://phab.enlightenment.org/D8742 --- src/lib/elementary/efl_ui_pager.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index b97737ab51..6047aa8d91 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -865,6 +865,8 @@ _unpack(Eo *obj, Efl_Gfx_Entity *subobj, int index) { + int self_index = eina_list_data_idx(pd->content_list, subobj); + int self_curr_page = pd->curr.page; pd->content_list = eina_list_remove(pd->content_list, subobj); pd->cnt--; @@ -885,9 +887,12 @@ _unpack(Eo *obj, } else { - efl_pack_unpack(pd->page_box, subobj); - if (pd->curr.page != -1) - efl_pack(pd->page_box, eina_list_nth(pd->content_list, pd->curr.page)); + if (self_curr_page == self_index) + { + efl_pack_unpack(pd->page_box, subobj); + pd->curr.page = -1; + efl_ui_pager_current_page_set(obj, self_curr_page); + } } if (pd->indicator) --
