summaryrefslogtreecommitdiff
path: root/src/lib/ecore_evas/ecore_evas.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-05-29 09:23:18 -0400
committerMike Blumenkrantz <zmike@samsung.com>2019-05-29 12:29:04 -0400
commit2cf3dc7a39c938b97e6fcf16d8ea06374eeb7536 (patch)
tree14f9f26ea8fc7e972d1f49a79f888835bb7ed7bc /src/lib/ecore_evas/ecore_evas.c
parentf8c8f9c16c7f5212e44938b0f49c94db16172efc (diff)
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
Diffstat (limited to 'src/lib/ecore_evas/ecore_evas.c')
-rw-r--r--src/lib/ecore_evas/ecore_evas.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 3d4698f..599d7ec 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)
3446 } 3446 }
3447 ee->animator_count = 0; 3447 ee->animator_count = 0;
3448 3448
3449 efl_event_callback_array_del(ee->evas, animator_watch(), ee); 3449 /* not present in extn engine */
3450 if (ee->evas)
3451 {
3452 efl_event_callback_array_del(ee->evas, animator_watch(), ee);
3453 efl_event_callback_array_del(ee->evas, _ecore_evas_device_cbs(), ee);
3454 }
3450 if (ee->anim) 3455 if (ee->anim)
3451 ecore_animator_del(ee->anim); 3456 ecore_animator_del(ee->anim);
3452 ee->anim = NULL; 3457 ee->anim = NULL;
@@ -3487,7 +3492,6 @@ _ecore_evas_free(Ecore_Evas *ee)
3487 ecore_timer_del(ee->prop.wm_rot.manual_mode.timer); 3492 ecore_timer_del(ee->prop.wm_rot.manual_mode.timer);
3488 _ecore_evas_aux_hint_free(ee); 3493 _ecore_evas_aux_hint_free(ee);
3489 ee->prop.wm_rot.manual_mode.timer = NULL; 3494 ee->prop.wm_rot.manual_mode.timer = NULL;
3490 efl_event_callback_array_del(ee->evas, _ecore_evas_device_cbs(), ee);
3491 eina_hash_free(ee->prop.cursors); 3495 eina_hash_free(ee->prop.cursors);
3492 ee->prop.cursors = NULL; 3496 ee->prop.cursors = NULL;
3493 evas_free(ee->evas); 3497 evas_free(ee->evas);