diff --git a/libmscore/layout.cpp b/libmscore/layout.cpp index 939fdfe186b2..eb2da8ea0d0c 100644 --- a/libmscore/layout.cpp +++ b/libmscore/layout.cpp @@ -841,7 +841,12 @@ void Score::layoutChords3(std::vector& notes, const Staff* staff, Segment else if (_up) x = chord->stemPosX() - note->headBodyWidth(); - note->rypos() = (note->line() + stepOffset) * stepDistance; + qreal ny = (note->line() + stepOffset) * stepDistance; + if (note->rypos() != ny) { + note->rypos() = ny; + if (chord->stem()) + chord->stem()->layout(); + } note->rxpos() = x; // find leftmost non-mirrored note to set as X origin for accidental layout diff --git a/libmscore/stem.cpp b/libmscore/stem.cpp index d154496c2edb..3a4b2292c42a 100644 --- a/libmscore/stem.cpp +++ b/libmscore/stem.cpp @@ -152,7 +152,7 @@ void Stem::draw(QPainter* painter) const const Staff* st = staff(); const StaffType* stt = st ? st->staffType(chord()->tick()) : 0; - bool useTab = stt && stt->isTabStaff(); + bool useTab = stt && stt->isTabStaff(); painter->setPen(QPen(curColor(), _lineWidth, Qt::SolidLine, Qt::RoundCap)); painter->drawLine(line);