Commit 77ca0f273c6ab6747a52e82ea2ed76c939b37402

Sam Lantinga 2017-07-27T22:55:18

Fixed crash if the WASAPI audio device couldn't be recovered

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/audio/wasapi/SDL_wasapi.c b/src/audio/wasapi/SDL_wasapi.c
index 6af22ce..0a3bf92 100644
--- a/src/audio/wasapi/SDL_wasapi.c
+++ b/src/audio/wasapi/SDL_wasapi.c
@@ -372,7 +372,8 @@ WASAPI_GetPendingBytes(_THIS)
     UINT32 frames = 0;
 
     /* it's okay to fail here; we'll deal with failures in the audio thread. */
-    if (FAILED(IAudioClient_GetCurrentPadding(this->hidden->client, &frames))) {
+    /* FIXME: need a lock around checking this->hidden->client */
+    if (!this->hidden->client || FAILED(IAudioClient_GetCurrentPadding(this->hidden->client, &frames))) {
         return 0;  /* oh well. */
     }