From 28a522806bb1a670b460f0bfbf8d6147910dea72 Mon Sep 17 00:00:00 2001 From: Hyunjin Song Date: Wed, 27 Jun 2018 08:59:36 +0900 Subject: [PATCH] Fix hang on exit from specific MIDI devices + WinMM (#4451) --- src/core/midi/MidiWinMM.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/midi/MidiWinMM.cpp b/src/core/midi/MidiWinMM.cpp index a59ebc69e..ef60f3015 100644 --- a/src/core/midi/MidiWinMM.cpp +++ b/src/core/midi/MidiWinMM.cpp @@ -248,9 +248,13 @@ void MidiWinMM::closeDevices() m_outputSubs.clear(); QMapIterator i( m_inputDevices ); + + HMIDIIN hInDev; while( i.hasNext() ) { - midiInClose( i.next().key() ); + hInDev = i.next().key(); + midiInReset( hInDev ); + midiInClose( hInDev ); } QMapIterator o( m_outputDevices );