Skip to content

Commit 8ddeb71

Browse files
committed
Fix #27582: Fix removing timeSig from mmRests
* Adds additional check to remove timeSig segment from inside mmRest
1 parent 60f112d commit 8ddeb71

File tree

1 file changed

+25
-18
lines changed

1 file changed

+25
-18
lines changed

src/engraving/dom/edit.cpp

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,6 +1612,13 @@ void Score::cmdRemoveTimeSig(TimeSig* ts)
16121612
if (rs) {
16131613
rScore->undoRemoveElement(rs);
16141614
}
1615+
// Measure can contain mmRest that can have its own timesig. We need to delete it too
1616+
if (rm->mmRest()) {
1617+
Segment* mmRestTimesig = rm->mmRest()->findSegment(SegmentType::TimeSig, s->tick());
1618+
if (mmRestTimesig) {
1619+
rScore->undoRemoveElement(mmRestTimesig);
1620+
}
1621+
}
16151622

16161623
Measure* pm = m->prevMeasure();
16171624
Fraction ns(pm ? pm->timesig() : Fraction(4, 4));
@@ -2450,15 +2457,15 @@ void Score::cmdFlip()
24502457
flipOnce(artic, [artic]() {
24512458
ArticulationAnchor articAnchor = artic->anchor();
24522459
switch (articAnchor) {
2453-
case ArticulationAnchor::TOP:
2454-
articAnchor = ArticulationAnchor::BOTTOM;
2455-
break;
2456-
case ArticulationAnchor::BOTTOM:
2457-
articAnchor = ArticulationAnchor::TOP;
2458-
break;
2459-
case ArticulationAnchor::AUTO:
2460-
articAnchor = artic->up() ? ArticulationAnchor::BOTTOM : ArticulationAnchor::TOP;
2461-
break;
2460+
case ArticulationAnchor::TOP:
2461+
articAnchor = ArticulationAnchor::BOTTOM;
2462+
break;
2463+
case ArticulationAnchor::BOTTOM:
2464+
articAnchor = ArticulationAnchor::TOP;
2465+
break;
2466+
case ArticulationAnchor::AUTO:
2467+
articAnchor = artic->up() ? ArticulationAnchor::BOTTOM : ArticulationAnchor::TOP;
2468+
break;
24622469
}
24632470
PropertyFlags pf = artic->propertyFlags(Pid::ARTICULATION_ANCHOR);
24642471
if (pf == PropertyFlags::STYLED) {
@@ -2491,15 +2498,15 @@ void Score::cmdFlip()
24912498
ArticulationAnchor articAnchor = ArticulationAnchor(ornament->getProperty(Pid::ARTICULATION_ANCHOR).toInt());
24922499

24932500
switch (articAnchor) {
2494-
case ArticulationAnchor::TOP:
2495-
articAnchor = ArticulationAnchor::BOTTOM;
2496-
break;
2497-
case ArticulationAnchor::BOTTOM:
2498-
articAnchor = ArticulationAnchor::TOP;
2499-
break;
2500-
case ArticulationAnchor::AUTO:
2501-
articAnchor = ornament->up() ? ArticulationAnchor::BOTTOM : ArticulationAnchor::TOP;
2502-
break;
2501+
case ArticulationAnchor::TOP:
2502+
articAnchor = ArticulationAnchor::BOTTOM;
2503+
break;
2504+
case ArticulationAnchor::BOTTOM:
2505+
articAnchor = ArticulationAnchor::TOP;
2506+
break;
2507+
case ArticulationAnchor::AUTO:
2508+
articAnchor = ornament->up() ? ArticulationAnchor::BOTTOM : ArticulationAnchor::TOP;
2509+
break;
25032510
}
25042511
PropertyFlags pf = ornament->propertyFlags(Pid::ARTICULATION_ANCHOR);
25052512
if (pf == PropertyFlags::STYLED) {

0 commit comments

Comments
 (0)