fix #81451: [Capella Import] corrupt file when importing capx file with pickup measure

This commit is contained in:
lasconic 2017-02-21 12:23:12 +01:00
parent 7b6c0540b2
commit 99c15fdccd

View file

@ -849,11 +849,20 @@ static int readCapVoice(Score* score, CapVoice* cvoice, int staffIdx, int tick,
SigEvent ne(f);
if (!(se == ne))
score->sigmap()->add(tick, ne);
// do not add timesig again
Measure* m = score->getCreateMeasure(tick);
Segment* s = m->findSegment(Segment::Type::TimeSig, tick);
if (s) {
Element* e = s->element(trackZeroVoice(track));
if (e && static_cast<TimeSig*>(e)->sig() == f)
break;
}
TimeSig* ts = new TimeSig(score);
ts->setSig(f);
ts->setTrack(track);
Measure* m = score->getCreateMeasure(tick);
Segment* s = m->getSegment(Segment::Type::TimeSig, tick);
s = m->getSegment(Segment::Type::TimeSig, tick);
s->add(ts);
m->setLen(f);
}