Recently adjusted fingering can shift when changing style setting

• Jul 10, 2019 - 13:53
Reported version
3.2
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
active
Regression
No
Workaround
Yes
Project

Win 7/10. MS 3.2.3 (official)

This may be connected with #289943: Inspector: min distance and offset values do not update immediately when moving into the skyline using Inspector controls. It concerns the behaviour of an element when you adjust the Y offset and press the "Set as Style" button.

  1. Open the attached file.
  2. First move all the right hand fingering slightly to the right. Click on the first "m" in measure 5. Change the X offset to 0.5 and press the "Set as Style" button.
    Expected/Actual result: Other fingering moves 0.5 sp to the right.
  3. Now, move all the fingering up slightly. Click on the same RH fingering and change the Y offset to minus 0.2. Press the "Set as style" button.
    Expected result: Other fingering moves up 0.2 sp.
    Actual result: Virtually the same, except the original fingering shifts down a little.
  4. Make some other adjustment in the score;
    Expected result: No change to the fingering positions.
    Actual result: The original fingering moves upwards by a large amount.
  5. Reset the same fingering (Ctrl + R).
    Expected/Actual result: The fingering returns to the style default position.

The X offset behaves as expected. But adjusting the Y-offset (using the Inspector or keyboard arrows) is problematic. Step 4 should not result in any further movement and therefore step 5 (Reset) shouldn't be necessary.

Attachment Size
fingering_y_offset.mscz 26.51 KB

Comments

Title Unexpected behaviour of elements when adjusting Y offset and making it the style default Fingering with custom offset can shift when changing style setting
Workaround No Yes
Priority P1 - High

This does potentially seem related to #289943: Inspector: min distance and offset values do not update immediately when moving into the skyline using Inspector controls, but I suspect it's more about the specific complexities of the fingering layout algorithm - I don't think you can reproduce this result with other element types). Somehow we aren't computing the new offset and min distance correctly for the most-recently-edited element. I suspect maybe we're not clearing the flag that indicates it was just moved.

Anyhow, workaround is indeed to reset it after the style change.