summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--muse2/muse/arranger/arranger.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp
index 6af69f8d..26809bbd 100644
--- a/muse2/muse/arranger/arranger.cpp
+++ b/muse2/muse/arranger/arranger.cpp
@@ -984,9 +984,13 @@ void Arranger::updateTrackInfo(int flags)
}
if (selected->isMidiTrack()) {
switchInfo(1);
- ///updateMidiTrackInfo(flags);
- //midiTrackInfo->setTrack(selected);
- midiTrackInfo->updateTrackInfo(flags);
+ // If a new part was selected, and only if it's different.
+ if((flags & SC_SELECTION) && midiTrackInfo->track() != selected)
+ // Set a new track and do a complete update.
+ midiTrackInfo->setTrack(selected);
+ else
+ // Otherwise just regular update with specific flags.
+ midiTrackInfo->updateTrackInfo(flags);
}
else {
switchInfo(2);