DescriptionIssue 4182: avoid checking the offset of cross-staff stems too early
Calculating the 'X-offset of a cross-staff Stem too early causes the
Stem's 'direction property to be accessed while it is still
"calculation-in-progress" - always returning "UP". This causes the
X-offset to be set incorrectly when the eventual stem direction will be
"DOWN".
This problem occurs in the scenario where the X-offset of a notehead is
calculated early, when NoteHead::stem_x_shift calls
Stem::calc_positioning_done (via get_property).
Update NoteHead::stem_x_shift to only check a stem's "positioning-done"
property if it is not cross-staff. This will prevent the above scenario
from triggering the problem. The Stem's offset will be calculated again
later anyway, and this does not change the return value of
NoteHead::stem_x_shift as it always returns 0.
Add a suitable regression test.
Patch Set 1 #
Total comments: 4
Patch Set 2 : Fix texidoc style issues in cross-staff-stem-offset.ly #
Total comments: 2
Patch Set 3 : Fix style issues #
MessagesTotal messages: 8
|