فهرست منبع

wasapi: Check for a NULL device during disconnect handling.

This is probably something we already cleaned up that has something running
in an unexpected order now that we've moved disconnect work to the main thread.
Ryan C. Gordon 6 روز پیش
والد
کامیت
0467c531fa
1فایلهای تغییر یافته به همراه1 افزوده شده و 1 حذف شده
  1. 1 1
      src/audio/wasapi/SDL_wasapi.c

+ 1 - 1
src/audio/wasapi/SDL_wasapi.c

@@ -343,7 +343,7 @@ static void WASAPI_DetectDevices(SDL_AudioDevice **default_playback, SDL_AudioDe
 void WASAPI_DisconnectDevice(SDL_AudioDevice *device)
 {
     // don't block in here; IMMDevice's own thread needs to return or everything will deadlock.
-    if (device->hidden && SDL_CompareAndSwapAtomicInt(&device->hidden->device_disconnecting, 0, 1)) {
+    if (device && device->hidden && SDL_CompareAndSwapAtomicInt(&device->hidden->device_disconnecting, 0, 1)) {
         SDL_AudioDeviceDisconnected(device); // this proxies the work to the main thread now, so no point in proxying to the management thread.
     }
 }