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 committed by Mike Blumenkrantz
parent c62703a0d9
commit a8b82f94d9
1 changed files with 8 additions and 3 deletions

View File

@ -817,6 +817,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--;
@ -837,9 +839,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)