diff options
author | Hein-Pieter van Braam <hp@tmm.cx> | 2017-02-17 17:59:06 +0100 |
---|---|---|
committer | Hein-Pieter van Braam <hp@tmm.cx> | 2017-02-17 17:59:06 +0100 |
commit | f70afbe129faf69c1a4c4e48069e69e014857056 (patch) | |
tree | 8692204ef6e1ec61a19d1f4318dfd7b56e1ed75d /platform/x11 | |
parent | b96c7ace2d1fc2698c030fa1f95dab139f0fa804 (diff) |
X11: Move audio driver finalize to the start of cleanup
The audio driver cleanup needs to happen at the start of finish
otherwise a race still seems to exist with the destruction of the
audioserver. I think that destroying the X resoures before has something
to do with it.
Diffstat (limited to 'platform/x11')
-rw-r--r-- | platform/x11/os_x11.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp index 63f56b9c97..27df280927 100644 --- a/platform/x11/os_x11.cpp +++ b/platform/x11/os_x11.cpp @@ -464,6 +464,10 @@ void OS_X11::finalize() { memdelete(main_loop); main_loop=NULL; + for (int i = 0; i < get_audio_driver_count(); i++) { + AudioDriverManager::get_driver(i)->finish(); + } + /* if (debugger_connection_console) { memdelete(debugger_connection_console); @@ -475,7 +479,6 @@ void OS_X11::finalize() { #endif memdelete(input); - visual_server->finish(); memdelete(visual_server); //memdelete(rasterizer); @@ -512,9 +515,6 @@ void OS_X11::finalize() { args.clear(); - for (int i = 0; i < get_audio_driver_count(); i++) { - AudioDriverManager::get_driver(i)->finish(); - } } |