diff --git a/src/engraving/dom/measure.cpp b/src/engraving/dom/measure.cpp index 1f3c3fbd05188..11f8d7c91b774 100644 --- a/src/engraving/dom/measure.cpp +++ b/src/engraving/dom/measure.cpp @@ -604,7 +604,7 @@ bool Measure::showMeasureNumberOnStaff(staff_idx_t staffIdx) return false; } - return showMeasureNumber() && score()->staff(staffIdx)->shouldShowMeasureNumbers(); + return showMeasureNumber() && score()->staff(staffIdx)->shouldShowMeasureNumbers() && !score()->allStavesInvisible(); } //--------------------------------------------------------- diff --git a/src/engraving/dom/score.cpp b/src/engraving/dom/score.cpp index c66aeb3694a36..2353db531c1ca 100644 --- a/src/engraving/dom/score.cpp +++ b/src/engraving/dom/score.cpp @@ -5832,6 +5832,17 @@ size_t Score::visibleStavesCount() const return count; } +bool Score::allStavesInvisible() const +{ + for (const Staff* staff : m_staves) { + if (staff->show()) { + return false; + } + } + + return true; +} + ShadowNote* Score::shadowNote() const { return m_shadowNote; diff --git a/src/engraving/dom/score.h b/src/engraving/dom/score.h index 4d4f5adefc1a9..3da024b03f8aa 100644 --- a/src/engraving/dom/score.h +++ b/src/engraving/dom/score.h @@ -458,6 +458,7 @@ class Score : public EngravingObject, public muse::Injectable const std::vector& staves() const { return m_staves; } size_t nstaves() const { return m_staves.size(); } size_t visibleStavesCount() const; + bool allStavesInvisible() const; size_t ntracks() const { return m_staves.size() * VOICES; } staff_idx_t staffIdx(const Staff*) const;