Module: wine Branch: master Commit: 4906ffaa5b93de471411ade2bad856fd7a0e4a84 URL: http://source.winehq.org/git/wine.git/?a=commit;h=4906ffaa5b93de471411ade2ba...
Author: Ken Thomases ken@codeweavers.com Date: Wed Jun 20 07:01:11 2007 -0500
winecoreaudio: Make wodReset fail if called on a closed device.
---
dlls/winecoreaudio.drv/audio.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/dlls/winecoreaudio.drv/audio.c b/dlls/winecoreaudio.drv/audio.c index 5a3e82b..bc7482c 100644 --- a/dlls/winecoreaudio.drv/audio.c +++ b/dlls/winecoreaudio.drv/audio.c @@ -1278,7 +1278,14 @@ static DWORD wodReset(WORD wDevID) wwo = &WOutDev[wDevID];
OSSpinLockLock(&wwo->lock); - + + if (wwo->state == WINE_WS_CLOSED) + { + OSSpinLockUnlock(&wwo->lock); + WARN("resetting a closed device\n"); + return MMSYSERR_INVALHANDLE; + } + lpSavedQueuePtr = wwo->lpQueuePtr; wwo->lpPlayPtr = wwo->lpQueuePtr = wwo->lpLoopPtr = NULL; wwo->state = WINE_WS_STOPPED;