Backed out a very unsafe change that was trying to prevent audio hang at quit. Ryan and I have ideas on a better way to handle this.
diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c
index 9749a2d..9c5d61b 100644
--- a/src/audio/SDL_audio.c
+++ b/src/audio/SDL_audio.c
@@ -1066,10 +1066,6 @@ close_audio_device(SDL_AudioDevice * device)
{
SDL_AtomicSet(&device->shutdown, 1);
SDL_AtomicSet(&device->enabled, 0);
-
- if (device->hidden != NULL) {
- current_audio.impl.CloseDevice(device);
- }
if (device->thread != NULL) {
SDL_WaitThread(device->thread, NULL);
}
@@ -1080,6 +1076,9 @@ close_audio_device(SDL_AudioDevice * device)
if (device->convert.needed) {
SDL_free(device->convert.buf);
}
+ if (device->hidden != NULL) {
+ current_audio.impl.CloseDevice(device);
+ }
free_audio_queue(device->buffer_queue_head);
free_audio_queue(device->buffer_queue_pool);