forked from enlightenment/enlightenment
and defer the del in other places too. anywhere where a canvas free might
delete widgets that end up calling hooks that delete other objetcs that may already be freed - this is an issue. use it. SVN revision: 29848
This commit is contained in:
parent
2eb1d715df
commit
3a9b34fd07
|
@ -199,5 +199,5 @@ _e_about_cb_close(void *data, Evas_Object *obj, const char *emission, const char
|
|||
|
||||
about = data;
|
||||
if (!about) return;
|
||||
e_object_del(E_OBJECT(about));
|
||||
e_util_defer_object_del(E_OBJECT(about));
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type)
|
|||
if (pdia)
|
||||
{
|
||||
e_object_del_attach_func_set(E_OBJECT(pdia), NULL);
|
||||
e_object_del(E_OBJECT(pdia));
|
||||
e_util_defer_object_del(E_OBJECT(pdia));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -92,6 +92,6 @@ _e_confirm_dialog_delete(E_Win *win)
|
|||
cd = dia->data;
|
||||
|
||||
if (cd->del.func) cd->del.func(cd->del.data);
|
||||
e_object_del(E_OBJECT(dia));
|
||||
e_util_defer_object_del(E_OBJECT(dia));
|
||||
free(cd);
|
||||
}
|
||||
|
|
|
@ -376,7 +376,7 @@ e_desklock_hide(void)
|
|||
evas_object_del(edp->login_box);
|
||||
evas_event_thaw(edp->popup_wnd->evas);
|
||||
|
||||
e_object_del(E_OBJECT(edp->popup_wnd));
|
||||
e_util_defer_object_del(E_OBJECT(edp->popup_wnd));
|
||||
E_FREE(edp);
|
||||
}
|
||||
edd->elock_wnd_list = evas_list_remove_list(edd->elock_wnd_list, edd->elock_wnd_list);
|
||||
|
|
|
@ -244,7 +244,7 @@ _e_dialog_free(E_Dialog *dia)
|
|||
static void
|
||||
_e_dialog_del_func_cb(void *data, E_Dialog *dia)
|
||||
{
|
||||
e_object_del(E_OBJECT(dia));
|
||||
e_util_defer_object_del(E_OBJECT(dia));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -614,7 +614,7 @@ _e_desktop_edit_cb_icon_select_cancel(void *data, E_Dialog *dia)
|
|||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
cfdata = data;
|
||||
e_object_del(E_OBJECT(dia));
|
||||
e_util_defer_object_del(E_OBJECT(dia));
|
||||
cfdata->editor->fsel_dia = NULL;
|
||||
_e_desktop_editor_icon_update(cfdata);
|
||||
}
|
||||
|
|
|
@ -136,5 +136,5 @@ _e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const
|
|||
od = data;
|
||||
if (od->cb_delete)
|
||||
od->cb_delete(od);
|
||||
e_object_del(E_OBJECT(od));
|
||||
e_util_defer_object_del(E_OBJECT(od));
|
||||
}
|
||||
|
|
|
@ -128,5 +128,5 @@ _e_theme_about_cb_close(void *data, Evas_Object *obj, const char *emission, cons
|
|||
|
||||
about = data;
|
||||
if (!about) return;
|
||||
e_object_del(E_OBJECT(about));
|
||||
e_util_defer_object_del(E_OBJECT(about));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue