Check for valid pattern when focussing out pianoroll

This prevents a segmentation fault when closing an empty piano roll,
fixing issue #2050.
This commit is contained in:
Thomas Clark
2015-06-19 21:21:38 -04:00
parent 96a1d412dd
commit cdeba9c651

View File

@@ -3344,12 +3344,14 @@ void PianoRoll::wheelEvent(QWheelEvent * we )
void PianoRoll::focusOutEvent( QFocusEvent * )
{
for( int i = 0; i < NumKeys; ++i )
{
m_pattern->instrumentTrack()->pianoModel()->midiEventProcessor()->processInEvent( MidiEvent( MidiNoteOff, -1, i, 0 ) );
m_pattern->instrumentTrack()->pianoModel()->setKeyState( i, false );
if( hasValidPattern() ) {
for( int i = 0; i < NumKeys; ++i )
{
m_pattern->instrumentTrack()->pianoModel()->midiEventProcessor()->processInEvent( MidiEvent( MidiNoteOff, -1, i, 0 ) );
m_pattern->instrumentTrack()->pianoModel()->setKeyState( i, false );
}
update();
}
update();
}