Ken Thomases : winecoreaudio: Make wodReset fail if called on a closed device.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jun 20 09:13:46 CDT 2007


Module: wine
Branch: master
Commit: 4906ffaa5b93de471411ade2bad856fd7a0e4a84
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4906ffaa5b93de471411ade2bad856fd7a0e4a84

Author: Ken Thomases <ken at 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;




More information about the wine-cvs mailing list