=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: mmsystem: Always use CALLBACK_FUNCTION to update MIDI/WAVEHDR.dwFlags.

Alexandre Julliard julliard at winehq.org
Wed Feb 27 14:41:58 CST 2013


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

Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date:   Sat Feb 23 17:29:59 2013 +0100

mmsystem: Always use CALLBACK_FUNCTION to update MIDI/WAVEHDR.dwFlags.

---

 dlls/mmsystem.dll16/mmsystem.c |   29 +++++++++++++----------------
 1 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/dlls/mmsystem.dll16/mmsystem.c b/dlls/mmsystem.dll16/mmsystem.c
index ac9915f..fe8f587 100644
--- a/dlls/mmsystem.dll16/mmsystem.c
+++ b/dlls/mmsystem.dll16/mmsystem.c
@@ -734,8 +734,7 @@ UINT16 WINAPI midiOutOpen16(HMIDIOUT16* lphMidiOut, UINT16 uDeviceID,
     {
         return MMSYSERR_NOMEM;
     }
-    if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL)
-        dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
+    dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
     ret = midiOutOpen(&hmo, uDeviceID, (DWORD)thunk, dwInstance, dwFlags);
     if (ret == MMSYSERR_NOERROR)
     {
@@ -938,8 +937,7 @@ UINT16 WINAPI midiInOpen16(HMIDIIN16* lphMidiIn, UINT16 uDeviceID,
     {
         return MMSYSERR_NOMEM;
     }
-    if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL)
-        dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
+    dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
     ret = midiInOpen(&hmid, uDeviceID, (DWORD)thunk, dwInstance, dwFlags);
     if (ret == MMSYSERR_NOERROR)
     {
@@ -1099,8 +1097,7 @@ MMRESULT16 WINAPI midiStreamOpen16(HMIDISTRM16* phMidiStrm, LPUINT16 devid,
     {
         return MMSYSERR_NOMEM;
     }
-    if ((fdwOpen & CALLBACK_TYPEMASK) != CALLBACK_NULL)
-        fdwOpen = (fdwOpen & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
+    fdwOpen = (fdwOpen & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
     ret = midiStreamOpen(&hMidiStrm32, &devid32, cMidi, (DWORD)thunk, dwInstance, fdwOpen);
     if (ret == MMSYSERR_NOERROR)
     {
@@ -1233,8 +1230,7 @@ UINT16 WINAPI waveOutOpen16(HWAVEOUT16* lphWaveOut, UINT16 uDeviceID,
     {
         return MMSYSERR_NOMEM;
     }
-    if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL)
-        dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
+    dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
     /* since layout of WAVEFORMATEX is the same for 16/32 bits, we directly
      * call the 32 bit version
      * however, we need to promote correctly the wave mapper id
@@ -1243,11 +1239,12 @@ UINT16 WINAPI waveOutOpen16(HWAVEOUT16* lphWaveOut, UINT16 uDeviceID,
     ret = waveOutOpen(&hWaveOut, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID,
                       lpFormat, (DWORD)thunk, dwInstance, dwFlags);
 
-    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);
+         if (lphWaveOut != NULL)
+             *lphWaveOut = HWAVEOUT_16(hWaveOut);
+    } else MMSYSTDRV_DeleteThunk(thunk);
     return ret;
 }
 
@@ -1512,8 +1509,7 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID,
     {
         return MMSYSERR_NOMEM;
     }
-    if ((dwFlags & CALLBACK_TYPEMASK) != CALLBACK_NULL)
-        dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
+    dwFlags = (dwFlags & ~CALLBACK_TYPEMASK) | CALLBACK_FUNCTION;
     /* since layout of WAVEFORMATEX is the same for 16/32 bits, we directly
      * call the 32 bit version
      * however, we need to promote correctly the wave mapper id
@@ -1522,11 +1518,12 @@ UINT16 WINAPI waveInOpen16(HWAVEIN16* lphWaveIn, UINT16 uDeviceID,
     ret = waveInOpen(&hWaveIn, (uDeviceID == (UINT16)-1) ? (UINT)-1 : uDeviceID,
                      lpFormat, (DWORD)thunk, dwInstance, dwFlags);
 
-    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);
+         if (lphWaveIn != NULL)
+             *lphWaveIn = HWAVEOUT_16(hWaveIn);
+    } else MMSYSTDRV_DeleteThunk(thunk);
     return ret;
 }
 




More information about the wine-cvs mailing list