ecore-evas: check for internal evas presence before using it during free
Summary: some engines do not have an evas @fix Depends on D8971 Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8972
This commit is contained in:
parent
f8c8f9c16c
commit
2cf3dc7a39
|
@ -3446,7 +3446,12 @@ _ecore_evas_free(Ecore_Evas *ee)
|
||||||
}
|
}
|
||||||
ee->animator_count = 0;
|
ee->animator_count = 0;
|
||||||
|
|
||||||
efl_event_callback_array_del(ee->evas, animator_watch(), ee);
|
/* not present in extn engine */
|
||||||
|
if (ee->evas)
|
||||||
|
{
|
||||||
|
efl_event_callback_array_del(ee->evas, animator_watch(), ee);
|
||||||
|
efl_event_callback_array_del(ee->evas, _ecore_evas_device_cbs(), ee);
|
||||||
|
}
|
||||||
if (ee->anim)
|
if (ee->anim)
|
||||||
ecore_animator_del(ee->anim);
|
ecore_animator_del(ee->anim);
|
||||||
ee->anim = NULL;
|
ee->anim = NULL;
|
||||||
|
@ -3487,7 +3492,6 @@ _ecore_evas_free(Ecore_Evas *ee)
|
||||||
ecore_timer_del(ee->prop.wm_rot.manual_mode.timer);
|
ecore_timer_del(ee->prop.wm_rot.manual_mode.timer);
|
||||||
_ecore_evas_aux_hint_free(ee);
|
_ecore_evas_aux_hint_free(ee);
|
||||||
ee->prop.wm_rot.manual_mode.timer = NULL;
|
ee->prop.wm_rot.manual_mode.timer = NULL;
|
||||||
efl_event_callback_array_del(ee->evas, _ecore_evas_device_cbs(), ee);
|
|
||||||
eina_hash_free(ee->prop.cursors);
|
eina_hash_free(ee->prop.cursors);
|
||||||
ee->prop.cursors = NULL;
|
ee->prop.cursors = NULL;
|
||||||
evas_free(ee->evas);
|
evas_free(ee->evas);
|
||||||
|
|
Loading…
Reference in New Issue