summaryrefslogtreecommitdiff
path: root/muse2/muse/track.cpp
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2013-09-12 18:51:51 +0200
committerFlorian Jung <flo@windfisch.org>2013-09-12 18:53:53 +0200
commitaf09b4f881888b97903cda57907cda571be83b18 (patch)
tree6174aec715e169ae0748afa992fda0624faaebc7 /muse2/muse/track.cpp
parent181cdf038cb3721e14b0d74cd9e7049472686917 (diff)
Chain clones after loading a file. Fixes Windfisch/muse#12
Diffstat (limited to 'muse2/muse/track.cpp')
-rw-r--r--muse2/muse/track.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp
index 98935315..8d30fccb 100644
--- a/muse2/muse/track.cpp
+++ b/muse2/muse/track.cpp
@@ -902,7 +902,7 @@ void MidiTrack::read(Xml& xml)
switch (token) {
case Xml::Error:
case Xml::End:
- return;
+ goto out_of_MidiTrackRead_forloop;
case Xml::TagStart:
if (tag == "transposition")
transposition = xml.parseInt();
@@ -989,12 +989,15 @@ void MidiTrack::read(Xml& xml)
if (tag == "miditrack" || tag == "drumtrack" || tag == "newdrumtrack")
{
setInPortAndChannelMask(portmask, chanmask); // Support old files.
- return;
+ goto out_of_MidiTrackRead_forloop;
}
default:
break;
}
}
+
+out_of_MidiTrackRead_forloop:
+ chainTrackParts(this);
}
void MidiTrack::readOurDrumSettings(Xml& xml)