From 14cfe7780433f9e25d4d0f8efac50f0f9ba53159 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sat, 2 Jul 2011 14:41:17 +0200 Subject: [PATCH] InstrumentTrack: make sure m_runningMidiNotes[x] does not become negative Even though there's no known code path for this event to happen we should always make sure m_runningMidiNotes[x] does not become negative as this might mess up future key events. --- src/tracks/InstrumentTrack.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tracks/InstrumentTrack.cpp b/src/tracks/InstrumentTrack.cpp index f7dd7852c..59b4f744f 100644 --- a/src/tracks/InstrumentTrack.cpp +++ b/src/tracks/InstrumentTrack.cpp @@ -386,6 +386,7 @@ void InstrumentTrack::processOutEvent( const midiEvent & _me, if( k >= 0 && k < NumKeys && --m_runningMidiNotes[k] <= 0 ) { + m_runningMidiNotes[k] = qMax( 0, m_runningMidiNotes[k] ); m_instrument->handleMidiEvent( midiEvent( MidiNoteOff, midiPort()->realOutputChannel(), k, 0 ), _time );