From 49954cd042b5a640b8351e32775c20fa4d46ffcc Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 29 May 2019 09:23:18 -0400 Subject: [PATCH] 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 3ff53d6..5c933f1 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -3633,7 +3633,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; @@ -3674,7 +3679,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; //TIZEN_ONLY(20171218) : Add to free evas engine rsc before free evas -- 2.7.4