forked from enlightenment/efl
elementary/transit - fix a transit crash issue when user tries to kill all target objects in the effect end callback
SVN revision: 83413
This commit is contained in:
parent
52c035994d
commit
6c669fcc04
|
@ -968,3 +968,8 @@
|
||||||
2013-01-29 Jaehwan Kim
|
2013-01-29 Jaehwan Kim
|
||||||
|
|
||||||
* Fix the scroll position is calculated by the size of pan object, not the size of scroller.
|
* Fix the scroll position is calculated by the size of pan object, not the size of scroller.
|
||||||
|
|
||||||
|
2013-01-29 ChunEon Park (Hermet)
|
||||||
|
|
||||||
|
* Fix a elm_transit crash issue when user delete all target objects in the effect end callback.
|
||||||
|
|
||||||
|
|
|
@ -134,7 +134,7 @@ Fixes:
|
||||||
* when parent of ctxpopup is resized, ctxpopup calls dismissed signal.
|
* when parent of ctxpopup is resized, ctxpopup calls dismissed signal.
|
||||||
* Fix memory leak of the ctxpopup and callback function to be ctxpopup obj is delivered to.
|
* Fix memory leak of the ctxpopup and callback function to be ctxpopup obj is delivered to.
|
||||||
* Apply disply mode to all views of a naviframe if the display mode of the views are changed. Sometimes views are couldn't be recoverved to a previous status if they are stacked into more depth.
|
* Apply disply mode to all views of a naviframe if the display mode of the views are changed. Sometimes views are couldn't be recoverved to a previous status if they are stacked into more depth.
|
||||||
|
* Fix a elm_transit crash issue when user delete all target objects in the effect end callback.
|
||||||
Removals:
|
Removals:
|
||||||
|
|
||||||
* All internal widget hooks (and related macros) were removed, due
|
* All internal widget hooks (and related macros) were removed, due
|
||||||
|
|
|
@ -172,7 +172,7 @@ _transit_obj_remove_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *e
|
||||||
free(obj_data);
|
free(obj_data);
|
||||||
}
|
}
|
||||||
_remove_obj_from_list(transit, obj);
|
_remove_obj_from_list(transit, obj);
|
||||||
if (!transit->objs) elm_transit_del(transit);
|
if (!transit->objs && !transit->deleted) elm_transit_del(transit);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -250,6 +250,8 @@ _transit_del(Elm_Transit *transit)
|
||||||
Elm_Transit *chain_transit;
|
Elm_Transit *chain_transit;
|
||||||
Eina_List *elist, *elist_next;
|
Eina_List *elist, *elist_next;
|
||||||
|
|
||||||
|
transit->deleted = EINA_TRUE;
|
||||||
|
|
||||||
if (transit->animator)
|
if (transit->animator)
|
||||||
ecore_animator_del(transit->animator);
|
ecore_animator_del(transit->animator);
|
||||||
|
|
||||||
|
@ -265,8 +267,6 @@ _transit_del(Elm_Transit *transit)
|
||||||
while (transit->objs)
|
while (transit->objs)
|
||||||
_transit_obj_remove(transit, eina_list_data_get(transit->objs));
|
_transit_obj_remove(transit, eina_list_data_get(transit->objs));
|
||||||
|
|
||||||
transit->deleted = EINA_TRUE;
|
|
||||||
|
|
||||||
if (transit->del_data.func)
|
if (transit->del_data.func)
|
||||||
transit->del_data.func(transit->del_data.arg, transit);
|
transit->del_data.func(transit->del_data.arg, transit);
|
||||||
|
|
||||||
|
@ -481,8 +481,9 @@ elm_transit_del(Elm_Transit *transit)
|
||||||
{
|
{
|
||||||
ELM_TRANSIT_CHECK_OR_RETURN(transit);
|
ELM_TRANSIT_CHECK_OR_RETURN(transit);
|
||||||
|
|
||||||
if (transit->walking) transit->deleted = EINA_TRUE;
|
transit->deleted = EINA_TRUE;
|
||||||
else _transit_del(transit);
|
if (transit->walking) return;
|
||||||
|
_transit_del(transit);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue