zmike pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2cf3dc7a39c938b97e6fcf16d8ea06374eeb7536
commit 2cf3dc7a39c938b97e6fcf16d8ea06374eeb7536 Author: Mike Blumenkrantz <[email protected]> Date: Wed May 29 09:23:18 2019 -0400 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 --- src/lib/ecore_evas/ecore_evas.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index 3d4698f599..599d7ec9e8 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -3446,7 +3446,12 @@ _ecore_evas_free(Ecore_Evas *ee) } 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) ecore_animator_del(ee->anim); ee->anim = NULL; @@ -3487,7 +3492,6 @@ _ecore_evas_free(Ecore_Evas *ee) ecore_timer_del(ee->prop.wm_rot.manual_mode.timer); _ecore_evas_aux_hint_free(ee); 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); ee->prop.cursors = NULL; evas_free(ee->evas); --
