From 7bd6be0706ad7f2066d82840369486aebc7ecc77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20H=C3=B6hle?= Date: Wed, 10 Feb 2010 20:54:10 +0100 Subject: [PATCH] winmm: Fix incorrect memory useage (Valgrind w/ MIDI tests). --- dlls/winmm/tests/midi.c | 4 ++-- dlls/winmm/winmm.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/winmm/tests/midi.c b/dlls/winmm/tests/midi.c index a94ea2814ff..4a39cfc7f5f 100644 --- a/dlls/winmm/tests/midi.c +++ b/dlls/winmm/tests/midi.c @@ -341,8 +341,8 @@ static void test_midiStream(UINT udev, HWND hwnd) * but it will be set on all systems after the job is finished. */ Sleep(90); - /* Wine starts playing immediately */ - /*todo_wine test_notification(hwnd, "midiStream still paused", 0, WHATEVER);*/ + /* Wine <1.1.39 started playing immediately */ + test_notification(hwnd, "midiStream still paused", 0, WHATEVER); /* MSDN asks to use midiStreamRestart prior to midiStreamOut() * because the starting state is 'pause', but some apps seem to diff --git a/dlls/winmm/winmm.c b/dlls/winmm/winmm.c index a2074f673f6..233de32494f 100644 --- a/dlls/winmm/winmm.c +++ b/dlls/winmm/winmm.c @@ -1614,7 +1614,7 @@ static DWORD CALLBACK MMSYSTEM_MidiStream_Player(LPVOID pmt) SetEvent(lpMidiStrm->hEvent); TRACE("Ready to go 1\n"); /* thread is started in paused mode */ - SuspendThread(lpMidiStrm->hThread); + SuspendThread(GetCurrentThread()); TRACE("Ready to go 2\n"); lpMidiStrm->dwStartTicks = 0; @@ -1738,8 +1738,8 @@ MMRESULT WINAPI midiStreamClose(HMIDISTRM hMidiStrm) midiStreamStop(hMidiStrm); MMSYSTEM_MidiStream_PostMessage(lpMidiStrm, WM_QUIT, 0, 0); - HeapFree(GetProcessHeap(), 0, lpMidiStrm); CloseHandle(lpMidiStrm->hEvent); + HeapFree(GetProcessHeap(), 0, lpMidiStrm); return midiOutClose((HMIDIOUT)hMidiStrm); }