=?UTF-8?Q?J=C3=B6rg=20H=C3=B6hle=20?=: winmm: WAVE_OPEN_QUERY causes no WIM /WOM_OPEN notification.
Alexandre Julliard
julliard at winehq.org
Fri Feb 22 14:14:00 CST 2013
Module: wine
Branch: master
Commit: 4f0743bffabe49db064248881ade24813cbb63ec
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4f0743bffabe49db064248881ade24813cbb63ec
Author: Jörg Höhle <hoehle at users.sourceforge.net>
Date: Wed Feb 20 22:53:33 2013 +0100
winmm: WAVE_OPEN_QUERY causes no WIM/WOM_OPEN notification.
---
dlls/winmm/tests/wave.c | 10 ++++++++++
dlls/winmm/waveform.c | 4 ++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/winmm/tests/wave.c b/dlls/winmm/tests/wave.c
index 9e59e2f..992cca7 100644
--- a/dlls/winmm/tests/wave.c
+++ b/dlls/winmm/tests/wave.c
@@ -854,6 +854,16 @@ static void wave_out_test_deviceOut(int device, double duration,
rc=WaitForSingleObject(hevent,1500);
ok(rc==WAIT_OBJECT_0, "missing WOM_CLOSE notification\n");
+ wout = (HWAVEOUT)0xdeadf00d;
+ rc=waveOutOpen(&wout,device,pwfx,callback,callback_instance,flags|WAVE_FORMAT_QUERY);
+ ok(rc==MMSYSERR_NOERROR, "WAVE_FORMAT_QUERY(%s): rc=%s\n",dev_name(device),
+ wave_out_error(rc));
+ ok(wout==(HWAVEOUT)0xdeadf00d, "WAVE_FORMAT_QUERY handle %p\n", wout);
+
+ rc=WaitForSingleObject(hevent,20);
+ ok(rc==WAIT_TIMEOUT, "Notification from %s rc=%x\n",
+ wave_open_flags(flags|WAVE_FORMAT_QUERY),rc);
+
HeapFree(GetProcessHeap(), 0, buffer);
EXIT:
if ((flags & CALLBACK_TYPEMASK) == CALLBACK_THREAD) {
diff --git a/dlls/winmm/waveform.c b/dlls/winmm/waveform.c
index a5ffbc0..1dceb26 100644
--- a/dlls/winmm/waveform.c
+++ b/dlls/winmm/waveform.c
@@ -2726,7 +2726,7 @@ MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
info.reset = TRUE;
res = SendMessageW(g_devices_hwnd, WODM_OPEN, (DWORD_PTR)&info, 0);
- if(res != MMSYSERR_NOERROR)
+ if(res != MMSYSERR_NOERROR || (dwFlags & WAVE_FORMAT_QUERY))
return res;
if(lphWaveOut)
@@ -3356,7 +3356,7 @@ MMRESULT WINAPI waveInOpen(HWAVEIN* lphWaveIn, UINT uDeviceID,
info.reset = TRUE;
res = SendMessageW(g_devices_hwnd, WIDM_OPEN, (DWORD_PTR)&info, 0);
- if(res != MMSYSERR_NOERROR)
+ if(res != MMSYSERR_NOERROR || (dwFlags & WAVE_FORMAT_QUERY))
return res;
if(lphWaveIn)
More information about the wine-cvs
mailing list