Skip to content

Commit 0f2bfd8

Browse files
committed
Fix full-measure rest collision with own fermata
1 parent aa38811 commit 0f2bfd8

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

src/engraving/rendering/score/restlayout.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,9 +619,12 @@ void RestLayout::checkFullMeasureRestCollisions(const System* system, LayoutCont
619619
double xSegment = segment.pagePos().x() - system->pagePos().x();
620620
measureShape.add(segment.staffShape(staffIdx).translated(PointF(xSegment, 0.0)));
621621
}
622-
measureShape.remove_if([] (const ShapeElement& shapeEl) {
622+
measureShape.remove_if([fullMeasureRest] (const ShapeElement& shapeEl) {
623623
const EngravingItem* shapeItem = shapeEl.item();
624624
return shapeItem && ((shapeItem->isRest() && toRest(shapeItem)->isFullMeasureRest())
625+
|| (shapeItem->type() == ElementType::FERMATA
626+
&& shapeItem->explicitParent() == fullMeasureRest->segment()
627+
&& shapeItem->track() == fullMeasureRest->track())
625628
|| shapeItem->isBarLine() || shapeItem->isAccidental());
626629
});
627630

0 commit comments

Comments
 (0)