diff --git a/src/core/midi/MidiWinMM.cpp b/src/core/midi/MidiWinMM.cpp index a59ebc69ed5..ef60f30153b 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 );