Jörg Höhle : mmsystem: Handle WAVE_FORMAT_QUERY case.

Alexandre Julliard julliard at winehq.org
Wed Jun 23 10:57:07 CDT 2010


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

Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date:   Wed Jun 23 06:57:57 2010 +0200

mmsystem: Handle WAVE_FORMAT_QUERY case.

---

 dlls/mmsystem.dll16/mmsystem.c |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/dlls/mmsystem.dll16/mmsystem.c b/dlls/mmsystem.dll16/mmsystem.c
index e9f2b3a..1109ef4 100644
--- a/dlls/mmsystem.dll16/mmsystem.c
+++ b/dlls/mmsystem.dll16/mmsystem.c
@@ -1257,11 +1257,10 @@ UINT16 WINAPI waveOutOpen16(HWAVEOUT16* lphWaveOut, UINT16 uDeviceID,
     ret = waveOutOpen(&hWaveOut, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID,
                       lpFormat, (DWORD)thunk, dwInstance, dwFlags);
 
-    if (ret == MMSYSERR_NOERROR)
-    {
-        if (lphWaveOut != NULL) *lphWaveOut = HWAVEOUT_16(hWaveOut);
-        MMSYSTDRV_SetHandle(thunk, (void*)hWaveOut);
-    }
+    if (lphWaveOut != NULL && ret == MMSYSERR_NOERROR)
+       *lphWaveOut = HWAVEOUT_16(hWaveOut);
+    if (ret == MMSYSERR_NOERROR && !(dwFlags & WAVE_FORMAT_QUERY))
+         MMSYSTDRV_SetHandle(thunk, (void*)hWaveOut);
     else MMSYSTDRV_DeleteThunk(thunk);
     return ret;
 }
@@ -1550,11 +1549,10 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID,
     ret = waveInOpen(&hWaveIn, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID,
                      lpFormat, (DWORD)thunk, dwInstance, dwFlags);
 
-    if (ret == MMSYSERR_NOERROR)
-    {
-        if (lphWaveIn != NULL) *lphWaveIn = HWAVEIN_16(hWaveIn);
-        MMSYSTDRV_SetHandle(thunk, (void*)hWaveIn);
-    }
+    if (lphWaveIn != NULL && ret == MMSYSERR_NOERROR)
+       *lphWaveIn = HWAVEIN_16(hWaveIn);
+    if (ret == MMSYSERR_NOERROR && !(dwFlags & WAVE_FORMAT_QUERY))
+         MMSYSTDRV_SetHandle(thunk, (void*)hWaveIn);
     else MMSYSTDRV_DeleteThunk(thunk);
     return ret;
 }




More information about the wine-cvs mailing list