diff --git a/dlls/winecoreaudio.drv/audio.c b/dlls/winecoreaudio.drv/audio.c index 90d664f0ab..549b69e62d 100644 --- a/dlls/winecoreaudio.drv/audio.c +++ b/dlls/winecoreaudio.drv/audio.c @@ -349,6 +349,9 @@ static void wodSendNotifyCompletionsMessage(WINE_WAVEOUT* wwo) CFDataRef data; UInt32 buffer; + if (!Port_SendToMessageThread) + return; + buffer = (UInt32) wwo->woID; data = CFDataCreate(kCFAllocatorDefault, (UInt8 *)&buffer, sizeof(buffer)); @@ -368,6 +371,9 @@ static void wodSendNotifyInputCompletionsMessage(WINE_WAVEIN* wwi) CFDataRef data; UInt32 buffer; + if (!Port_SendToMessageThread) + return; + buffer = (UInt32) wwi->wiID; data = CFDataCreate(kCFAllocatorDefault, (UInt8 *)&buffer, sizeof(buffer)); @@ -694,6 +700,9 @@ void CoreAudio_WaveRelease(void) /* Stop CFRunLoop in messageThread */ TRACE("()\n"); + if (!Port_SendToMessageThread) + return; + CFMessagePortSendRequest(Port_SendToMessageThread, kStopLoopMessage, NULL, 0.0, 0.0, NULL, NULL); CFRelease(Port_SendToMessageThread); Port_SendToMessageThread = NULL;