Skip to content

Commit d8d4f8f

Browse files
authored
Merge pull request #30430 from cbjeukendrup/port/4.6.2
2 parents e0842ec + 5a56f79 commit d8d4f8f

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

src/engraving/dom/measure.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ double Measure::tick2pos(Fraction tck) const
553553
/// Whether the measure will show measure number(s) when MeasureNumberMode is set to AUTO
554554
//---------------------------------------------------------
555555

556-
bool Measure::showMeasureNumberInAutoMode()
556+
bool Measure::showMeasureNumberInAutoMode() const
557557
{
558558
// Check whether any measure number should be shown
559559
if (!style().styleB(Sid::showMeasureNumber)) {
@@ -594,7 +594,7 @@ bool Measure::showMeasureNumberInAutoMode()
594594
}
595595
}
596596

597-
bool Measure::showMeasureNumberOnStaff(staff_idx_t staffIdx)
597+
bool Measure::showMeasureNumberOnStaff(staff_idx_t staffIdx) const
598598
{
599599
IF_ASSERT_FAILED(staffIdx < score()->nstaves()) {
600600
return false;
@@ -608,7 +608,7 @@ bool Measure::showMeasureNumberOnStaff(staff_idx_t staffIdx)
608608
/// Whether the Measure shows a MeasureNumber
609609
//---------------------------------------------------------
610610

611-
bool Measure::showMeasureNumber()
611+
bool Measure::showMeasureNumber() const
612612
{
613613
switch (m_measureNumberMode) {
614614
case MeasureNumberMode::AUTO:

src/engraving/dom/measure.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,9 @@ class Measure final : public MeasureBase
225225
Fraction anacrusisOffset() const;
226226
Fraction maxTicks() const;
227227

228-
bool showMeasureNumber();
229-
bool showMeasureNumberInAutoMode();
230-
bool showMeasureNumberOnStaff(staff_idx_t staffIdx);
228+
bool showMeasureNumber() const;
229+
bool showMeasureNumberInAutoMode() const;
230+
bool showMeasureNumberOnStaff(staff_idx_t staffIdx) const;
231231

232232
Chord* findChord(Fraction tick, track_idx_t track) const;
233233
ChordRest* findChordRest(Fraction tick, track_idx_t track) const;

src/engraving/rendering/score/masklayout.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -195,19 +195,22 @@ std::vector<TextBase*> MaskLayout::collectAllSystemText(const System* system)
195195
if (!mb->isMeasure()) {
196196
continue;
197197
}
198-
for (const MStaff* mstaff : toMeasure(mb)->mstaves()) {
199-
if (MeasureNumber* measureNumber = mstaff->measureNumber()) {
200-
allText.push_back(measureNumber);
198+
const Measure* measure = toMeasure(mb);
199+
for (staff_idx_t i = 0; i < measure->mstaves().size(); ++i) {
200+
if (measure->showMeasureNumberOnStaff(i)) {
201+
if (MeasureNumber* measureNumber = measure->measureNumber(i)) {
202+
allText.push_back(measureNumber);
203+
}
201204
}
202205
}
203-
for (EngravingItem* item : toMeasure(mb)->el()) {
206+
for (EngravingItem* item : measure->el()) {
204207
const SysStaff* staff = system ? system->staff(item->staffIdx()) : nullptr;
205208
const bool staffVisible = staff && staff->show();
206209
if ((item->isMarker() || item->isJump()) && item->visible() && staffVisible) {
207210
allText.push_back(toTextBase(item));
208211
}
209212
}
210-
for (const Segment& s : toMeasure(mb)->segments()) {
213+
for (const Segment& s : measure->segments()) {
211214
if (!s.isType(Segment::CHORD_REST_OR_TIME_TICK_TYPE) || !s.enabled()) {
212215
continue;
213216
}

0 commit comments

Comments
 (0)