Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com --- dlls/winmm/tests/midi.c | 6 ++++++ dlls/winmm/winmm.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)
Signed-off-by: Andrew Eikum aeikum@codeweavers.com
On Tue, Jun 26, 2018 at 10:10:45PM +0900, Akihiro Sagawa wrote:
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com
dlls/winmm/tests/midi.c | 6 ++++++ dlls/winmm/winmm.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/winmm/tests/midi.c b/dlls/winmm/tests/midi.c index 3b8bd22..c46286b 100644 --- a/dlls/winmm/tests/midi.c +++ b/dlls/winmm/tests/midi.c @@ -885,6 +885,12 @@ static void test_midiStream(UINT udev, HWND hwnd) ok(ret > expected && ret < expected + MARGIN, "expected greater than %ums, got %ums\n", expected, ret); expected = ret;
- /* shouldn't set time division property while playing */
- midiprop.tdiv.cbStruct = sizeof(midiprop.tdiv);
- midiprop.tdiv.dwTimeDiv = 24;
- rc = midiStreamProperty(hm, (void*)&midiprop, MIDIPROP_SET | MIDIPROP_TIMEDIV);
- ok(rc == MMSYSERR_INVALPARAM, "midiStreamProperty(SET|TIMEDIV, dev=%d) rc=%s\n", udev, mmsys_error(rc));
- ret = WaitForSingleObject(records.done, INFINITE); ok(ret == WAIT_OBJECT_0, "WaitForSingleObject failed, got %d\n", ret);
diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index ef7dcdf..4bba1a7 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c @@ -1539,9 +1539,13 @@ MMRESULT WINAPI midiStreamProperty(HMIDISTRM hMidiStrm, LPBYTE lpPropData, DWORD ret = MMSYSERR_INVALPARAM; } else if (dwProperty & MIDIPROP_SET) { EnterCriticalSection(&lpMidiStrm->lock);
lpMidiStrm->dwTimeDiv = mptd->dwTimeDiv;
if (lpMidiStrm->status != MSM_STATUS_PLAYING) {
lpMidiStrm->dwTimeDiv = mptd->dwTimeDiv;
TRACE("Setting time div to %d\n", mptd->dwTimeDiv);
}
else
LeaveCriticalSection(&lpMidiStrm->lock);ret = MMSYSERR_INVALPARAM;
} else if (dwProperty & MIDIPROP_GET) { mptd->dwTimeDiv = lpMidiStrm->dwTimeDiv; TRACE("Getting time div <= %d\n", mptd->dwTimeDiv);TRACE("Setting time div to %d\n", mptd->dwTimeDiv);