diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp index 44608fc661..17e9401095 100644 --- a/libmscore/layout.cpp +++ b/libmscore/layout.cpp @@ -2171,8 +2171,8 @@ static bool breakMultiMeasureRest(Measure* m) auto sl = m->score()->spannerMap().findOverlapping(m->tick().ticks(), m->endTick().ticks()); for (auto i : sl) { Spanner* s = i.value; - // break for first measure of volta and first measure *after* volta - if (s->isVolta() && (s->tick() == m->tick() || s->tick2() == m->tick())) + // break for first measure of volta or textline and first measure *after* volta + if ((s->isVolta() || s->isTextLine()) && (s->tick() == m->tick() || s->tick2() == m->tick())) return true; } diff --git a/mtest/libmscore/measure/mmrest-ref.mscx b/mtest/libmscore/measure/mmrest-ref.mscx index a7ff4f3b9d..0be3d9f813 100644 --- a/mtest/libmscore/measure/mmrest-ref.mscx +++ b/mtest/libmscore/measure/mmrest-ref.mscx @@ -97,7 +97,6 @@ - 4 4 @@ -107,19 +106,82 @@ + + + + + 1 + VII + + 0 + + + + + + + 3 + + + + + measure + 4/4 + + + + + 3 + + line + + + + measure + 12/4 + + + + + + + measure + 4/4 + + + + + + line + + + + measure + 4/4 + + + + + + + + + -3 + + + + + measure + 4/4 + + + 4 line - - - -1 - - 4 - 4 - measure 16/4 diff --git a/mtest/libmscore/measure/mmrest.mscx b/mtest/libmscore/measure/mmrest.mscx index 790dfbaf9f..3bb220fb94 100644 --- a/mtest/libmscore/measure/mmrest.mscx +++ b/mtest/libmscore/measure/mmrest.mscx @@ -105,6 +105,64 @@ + + + + + 1 + VII + + 0 + + + + + + + 3 + + + + + measure + 4/4 + + + + + + + measure + 4/4 + + + + + + line + + + + measure + 4/4 + + + + + + + + + -3 + + + + + measure + 4/4 + + +