elc_naviframe: Fix to handle item deletion right after item push
If an item is deleted right after the item is newly pushed, the push transition should not happen for both the new item and the current item.
This commit is contained in:
parent
e2fca6c454
commit
be0af0ed00
|
@ -616,8 +616,16 @@ end:
|
||||||
// make sure there is no more reference to this item.
|
// make sure there is no more reference to this item.
|
||||||
EINA_LIST_FOREACH(sd->ops, l, nfo)
|
EINA_LIST_FOREACH(sd->ops, l, nfo)
|
||||||
{
|
{
|
||||||
if (nfo->related == nit) nfo->related = NULL;
|
/* If an transition is cancelled by deleting an item, then the pair
|
||||||
if (nfo->self == nit) nfo->self = NULL;
|
* transition also should be cancelled.
|
||||||
|
* This case can happen when an item is deleted by elm_object_item_del()
|
||||||
|
* right after the item is newly pushed.
|
||||||
|
*/
|
||||||
|
if ((nfo->self == nit) || (nfo->related == nit))
|
||||||
|
{
|
||||||
|
nfo->self = NULL;
|
||||||
|
nfo->related = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_item_free(nit);
|
_item_free(nit);
|
||||||
|
|
Loading…
Reference in New Issue