diff --git a/src/engraving/rendering/score/measurelayout.cpp b/src/engraving/rendering/score/measurelayout.cpp index a5443d2c0f5bc..6b9192f050637 100644 --- a/src/engraving/rendering/score/measurelayout.cpp +++ b/src/engraving/rendering/score/measurelayout.cpp @@ -2216,8 +2216,11 @@ void MeasureLayout::layoutTimeTickAnchors(Measure* m, LayoutContext& ctx) Fraction thisDuration = segment.ticks(); Fraction relativeTick = segment.rtick() - refCRSeg->rtick(); - Segment* nextCRSeg = m->findSegmentR(SegmentType::ChordRest, refCRSeg->rtick() + refCRSeg->ticks()); - double width = nextCRSeg ? nextCRSeg->x() - refCRSeg->x() : refCRSeg->width(); + Segment* nextSeg = m->findSegmentR(SegmentType::ChordRest, refCRSeg->rtick() + refCRSeg->ticks()); + if (!nextSeg) { + nextSeg = m->findSegmentR(SegmentType::BarLineType, refCRSeg->rtick() + refCRSeg->ticks()); + } + double width = nextSeg ? nextSeg->x() - refCRSeg->x() : refCRSeg->width(); double relativeX = width * (relativeTick.toDouble() / refCRSeg->ticks().toDouble()); double relativeWidth = width * (thisDuration.toDouble() / refSegDuration.toDouble()); diff --git a/src/engraving/rendering/score/tlayout.cpp b/src/engraving/rendering/score/tlayout.cpp index c60a5e6f07a75..c0d3c3e33de56 100644 --- a/src/engraving/rendering/score/tlayout.cpp +++ b/src/engraving/rendering/score/tlayout.cpp @@ -1950,11 +1950,14 @@ void TLayout::layoutDynamicToEndOfPrevious(const Dynamic* item, TextBase::Layout { Segment* curSegment = item->segment(); Segment* leftMostSegment = curSegment; + Segment* prevSeg = curSegment; while (true) { - Segment* prevSeg = leftMostSegment->prev1enabled(); - if (prevSeg && prevSeg->tick() == leftMostSegment->tick()) { + prevSeg = prevSeg->prev1enabled(); + if (!prevSeg || prevSeg->tick() != curSegment->tick()) { + break; + } + if (prevSeg->isActive() && prevSeg->hasElements(item->staffIdx())) { leftMostSegment = prevSeg; - } else { break; } } diff --git a/vtest/scores/dynamics-11.mscz b/vtest/scores/dynamics-11.mscz new file mode 100644 index 0000000000000..39656c2403801 Binary files /dev/null and b/vtest/scores/dynamics-11.mscz differ