From 9062c086b481ee9f1307f6e2688d822a1166d805 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 24 Feb 2017 14:56:50 +0100 Subject: Fix T50676: Crash on closing while frameserver rendering. Can't see any reason to call AUD exit early in WM_exit, that's a low-level module that has no dependency on anything else in Blender, but is dependency of some other parts of Blender, so it should rather be exited late in the process! --- source/blender/windowmanager/intern/wm_init_exit.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index c11c398c616..4b2369a1a7c 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -444,8 +444,6 @@ void WM_exit_ext(bContext *C, const bool do_python) { wmWindowManager *wm = C ? CTX_wm_manager(C) : NULL; - BKE_sound_exit(); - /* first wrap up running stuff, we assume only the active WM is running */ /* modal handlers are on window level freed, others too? */ /* note; same code copied in wm_files.c */ @@ -591,6 +589,10 @@ void WM_exit_ext(bContext *C, const bool do_python) BLI_threadapi_exit(); + /* No need to call this early, rather do it late so that other pieces of Blender using sound may exit cleanly, + * see also T50676. */ + BKE_sound_exit(); + BKE_blender_atexit(); if (MEM_get_memory_blocks_in_use() != 0) { -- cgit v1.2.3