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 <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742
This commit is contained in:
Marcel Hollerbach 2019-04-26 17:19:59 +02:00
parent c52dcdac91
commit 92b5d969bc
1 changed files with 8 additions and 3 deletions

View File

@ -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)