forked from enlightenment/efl
elementary/naviframe - Re: [E-devel] [Elc_Naviframe]: Crash on evas_object_del fix.
Hi All, Please find attached bug fix patch for Naviframe. This patch fixes crash in naviframe which happens when evas_object_del is called immediately after item_pop. Change description: elc_naviframe: Crash on calling evas_object_del of naviframe immediately after item_pop fixed. Signed-Off by: Shilpa Singh(shilpa.singh@samsung.com) Thanks & Regards Shilpa Singh Signed-Off-By: Shilpa Onkar Singh<shilpa.singh@samsung.com> SVN revision: 80442
This commit is contained in:
parent
2bbb2dac16
commit
4733715962
|
@ -1034,6 +1034,7 @@ _on_item_pop_finished(void *data,
|
||||||
|
|
||||||
if (sd->preserve && it->content)
|
if (sd->preserve && it->content)
|
||||||
elm_widget_tree_unfocusable_set(it->content, it->content_unfocusable);
|
elm_widget_tree_unfocusable_set(it->content, it->content_unfocusable);
|
||||||
|
sd->popping = eina_list_remove(sd->popping, it);
|
||||||
|
|
||||||
elm_widget_item_del(data);
|
elm_widget_item_del(data);
|
||||||
}
|
}
|
||||||
|
@ -1263,10 +1264,8 @@ _pop_transition_cb(void *data)
|
||||||
{
|
{
|
||||||
Elm_Naviframe_Item *prev_it, *it;
|
Elm_Naviframe_Item *prev_it, *it;
|
||||||
it = (Elm_Naviframe_Item *)data;
|
it = (Elm_Naviframe_Item *)data;
|
||||||
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
|
|
||||||
|
|
||||||
it->animator = NULL;
|
it->animator = NULL;
|
||||||
sd->popping = eina_list_remove(sd->popping, it);
|
|
||||||
|
|
||||||
prev_it = (Elm_Naviframe_Item *) elm_naviframe_top_item_get(WIDGET(it));
|
prev_it = (Elm_Naviframe_Item *) elm_naviframe_top_item_get(WIDGET(it));
|
||||||
if (prev_it)
|
if (prev_it)
|
||||||
|
@ -1300,7 +1299,7 @@ _elm_naviframe_smart_del(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
|
||||||
//All popping items which are not called yet by animator.
|
//All popping items which are not called yet by animator.
|
||||||
EINA_LIST_FOREACH(sd->popping, l, it)
|
EINA_LIST_FOREACH(sd->popping, l, it)
|
||||||
{
|
{
|
||||||
ecore_animator_del(it->animator);
|
if (it->animator) ecore_animator_del(it->animator);
|
||||||
elm_widget_item_del(it);
|
elm_widget_item_del(it);
|
||||||
}
|
}
|
||||||
eina_list_free(sd->popping);
|
eina_list_free(sd->popping);
|
||||||
|
|
Loading…
Reference in New Issue