Преглед изворни кода

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.
Hein-Pieter van Braam пре 8 година
родитељ
комит
f70afbe129
1 измењених фајлова са 4 додато и 4 уклоњено
  1. 4 4
      platform/x11/os_x11.cpp

+ 4 - 4
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();
-	}
 }