From 6e4cc7b270fd9c389681870a16afa8fe8a2aaf3d Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Fri, 27 Feb 2009 14:12:33 +0100 Subject: [PATCH] NotePlayHandle: call instrumentTrack::deleteNotePluginData() before invalidating itself in instrumentTrack's m_notes array - fixes recording with instruments that under certain circumstances call notePlayHandle::noteOff() on their own (e.g. Kicker) --- src/core/note_play_handle.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/core/note_play_handle.cpp b/src/core/note_play_handle.cpp index b29ce78d4..2738dcf57 100644 --- a/src/core/note_play_handle.cpp +++ b/src/core/note_play_handle.cpp @@ -126,16 +126,16 @@ notePlayHandle::~notePlayHandle() m_instrumentTrack->m_processHandles.removeAll( this ); } - if( m_instrumentTrack->m_notes[key()] == this ) - { - m_instrumentTrack->m_notes[key()] = NULL; - } - if( m_pluginData != NULL ) { m_instrumentTrack->deleteNotePluginData( this ); } + if( m_instrumentTrack->m_notes[key()] == this ) + { + m_instrumentTrack->m_notes[key()] = NULL; + } + for( notePlayHandleVector::iterator it = m_subNotes.begin(); it != m_subNotes.end(); ++it ) {