Bad note spacing with user modified beam on chord with seconds

• Aug 17, 2015 - 20:57
Type
Functional
Severity
S4 - Minor
Status
active
Project

Ubuntu 14.04, GIT commit: 699a5ee

Discovered while workong on #71901: Seconds misplaced on beamed cross-staff notes.

1) open attached score
2) double click beam
3) drag below staff
4) Esc

Result: initial chord moves too close to the barline. The following pictures show the behavior before and after the drag.

Before:

beam-seconds-1.png

After:

beam-seconds-2.png

The reason for this is that the "X" position of the segment for the chord is calculated in Measure::layoutX at a point when, as far as we know, the stem direction will be up. With stem up, the "C" is the normal note; the "D" is offset to the right. When the beam is manually moved down by enough to force the stem down, the chord is laid out again but the segment "X" position is not recalculated. And with stem down, the "C" is now the offset note, so it sticks out to the left from the originally-calculated segment position.

This doesn't happen if the stem or beam is flipped (using "X" command) rather than using manual offsets, because in that case, the correct stem direction is known up front.

Attachment Size
beam-seconds.mscz 2.73 KB