From 878e1bad6e5218e8fe24748eb33db9278d296aae Mon Sep 17 00:00:00 2001 From: "J.G" Date: Sat, 10 Aug 2024 22:52:35 +0000 Subject: [PATCH] Fix #556: Measure Number offset not updating all systems --- mscore/measureproperties.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mscore/measureproperties.cpp b/mscore/measureproperties.cpp index b2714dd2c9c99..70656d62c6a12 100644 --- a/mscore/measureproperties.cpp +++ b/mscore/measureproperties.cpp @@ -19,6 +19,7 @@ #include "measureproperties.h" #include "libmscore/measure.h" +#include "libmscore/measurebase.h" #include "libmscore/sig.h" #include "libmscore/score.h" #include "libmscore/repeat.h" @@ -257,12 +258,13 @@ void MeasureProperties::apply() propertiesChanged = true; } } - + int measureOffset = measureNumberOffset->value(); + bool offsetChanged = (measureOffset != m->noOffset()) ? true : false; m->undoChangeProperty(Pid::REPEAT_COUNT, repeatCount()); m->undoChangeProperty(Pid::BREAK_MMR, breakMultiMeasureRest->isChecked()); m->undoChangeProperty(Pid::USER_STRETCH, layoutStretch->value()); m->undoChangeProperty(Pid::MEASURE_NUMBER_MODE, measureNumberMode->currentIndex()); - m->undoChangeProperty(Pid::NO_OFFSET, measureNumberOffset->value()); + m->undoChangeProperty(Pid::NO_OFFSET, measureOffset); m->undoChangeProperty(Pid::IRREGULAR, isIrregular()); if (m->ticks() != len()) { @@ -284,6 +286,9 @@ void MeasureProperties::apply() if (propertiesChanged) { m->triggerLayout(); } + if (offsetChanged) { + score->doLayoutRange(m->tick(), score->lastMeasure()->tick()); + } score->select(m, SelectType::SINGLE, 0); score->update();