This commit is contained in:
ws 2014-06-17 15:52:31 +02:00
parent a77497571b
commit 3083478c25
3 changed files with 20 additions and 2 deletions

View file

@ -88,7 +88,7 @@ class Segment : public Element {
mutable bool empty; // cached value
mutable bool _written; // used for write()
SegmentType _segmentType;
SegmentType _segmentType { SegmentType::Invalid };
int _tick;
Spatium _extraLeadingSpace;
Spatium _extraTrailingSpace;

View file

@ -50,6 +50,24 @@ void SegmentList::check()
++n;
}
for (Segment* s = _first; s; s = s->next()) {
switch (s->segmentType()) {
case SegmentType::Invalid:
case SegmentType::Clef:
case SegmentType::KeySig:
case SegmentType::Ambitus:
case SegmentType::TimeSig:
case SegmentType::StartRepeatBarLine:
case SegmentType::BarLine:
case SegmentType::ChordRest:
case SegmentType::Breath:
case SegmentType::EndBarLine:
case SegmentType::TimeSigAnnounce:
case SegmentType::KeySigAnnounce:
break;
default:
qFatal("SegmentList::check: invalid segment type 0x%x", int(s->segmentType()));
break;
}
Segment* ss = s->next();
while (ss) {
if (s == ss) {

View file

@ -459,7 +459,7 @@ void Score::undoChangeKeySig(Staff* ostaff, int tick, int key)
//
Measure* lm = measure->nextMeasure();
for (; lm; lm = lm->nextMeasure()) {
Segment* s = lm->undoGetSegment(SegmentType::KeySig | SegmentType::KeySigAnnounce, lm->tick());
Segment* s = lm->findSegment(SegmentType::KeySig | SegmentType::KeySigAnnounce, lm->tick());
if (!s)
continue;
KeySig* ks = static_cast<KeySig*>(s->element(track));