fix #50006: beam editing issues
This commit is contained in:
parent
0ba6a8b2ff
commit
6a230ff067
1 changed files with 12 additions and 1 deletions
|
@ -1511,6 +1511,7 @@ void Beam::layout2(QList<ChordRest*>crl, SpannerSegmentType, int frag)
|
|||
//
|
||||
// set stem direction for every chord
|
||||
//
|
||||
bool relayoutGrace = false;
|
||||
for (int i = 0; i < n; ++i) {
|
||||
Chord* c = static_cast<Chord*>(crl.at(i));
|
||||
if (c->type() == Element::Type::REST)
|
||||
|
@ -1521,10 +1522,18 @@ void Beam::layout2(QList<ChordRest*>crl, SpannerSegmentType, int frag)
|
|||
if (c->up() != nup) {
|
||||
c->setUp(nup);
|
||||
// guess was wrong, have to relayout
|
||||
score()->layoutChords1(c->segment(), c->staffIdx());
|
||||
if (!_isGrace) {
|
||||
score()->layoutChords1(c->segment(), c->staffIdx());
|
||||
}
|
||||
else {
|
||||
relayoutGrace = true;
|
||||
score()->layoutChords3(c->notes(), c->staff(), 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
_up = crl.front()->up();
|
||||
if (relayoutGrace)
|
||||
c1->parent()->layout();
|
||||
}
|
||||
else if (_cross) {
|
||||
qreal beamY = 0.0; // y position of main beam start
|
||||
|
@ -2117,6 +2126,8 @@ void Beam::reset()
|
|||
void Beam::startEdit(MuseScoreView*, const QPointF& p)
|
||||
{
|
||||
undoPushProperty(P_ID::BEAM_POS);
|
||||
undoPushProperty(P_ID::USER_MODIFIED);
|
||||
undoPushProperty(P_ID::GENERATED);
|
||||
|
||||
QPointF pt(p - pagePos());
|
||||
qreal ydiff = 100000000.0;
|
||||
|
|
Loading…
Reference in a new issue