Alt + right arrow after rest jumps staves when there is a note/rest in voice 4 of bottom staff

• Nov 20, 2020 - 17:12
Reported version
3.5
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (64-bit): 3.5.2.311459983, revision: 465e7b6

Open the attached score and click on the note marked A in the music staff. Now use the accessibility shortcut Alt + right arrow to move from element to element.

Expected result: Cursor remains in the same staff.
Actual result: After the voice 4 rest the cursor jumps to the voice 4 rest in tablature and continues from there instead.

Attachment Size
alt_arrow_isue.mscz 10.51 KB

Comments

Title Alt + right arrow jumps from staff to tablature unexpectedly Alt + right arrow jumps between staves when traversing rests in voices > 2

I can confirm. Seems to not be unique to tablature, as I can reproduce with two standard staves as well. So far I can only reproduce when there is a rest in a voice > 2.

Title Alt + right arrow jumps between staves when traversing rests in voices > 2 Alt + right arrow after rest jumps staves when there is a note/rest in voice 4 of bottom staff
Priority P1 - High

I have it narrowed down further, it's actually about voice 4 of the last staff in the score - if there is a note or rest there, navigation will find it, regardless of what staff you started on. Only when starting navigation from a rest, and only if there are no notes in higher-numbered voices on that staff. Should be a simple enough fix.

Status PR created fixed

Fixed in branch 3.x, commit aae0b4c66c

_fix #313323: bad navigation after rest with content on last track

Resolves: https://musescore.org/en/node/313323

If you use Alt+Right to navigation from a rest,
and there is no other content in higher voices on that staff
but there is a note or rest in vocie of the last staff,
navigation will go there.

Earlier I fixed a similar bug involving the case when starting
from a note instead of from a rest,
by checking to see that the staffIdx matches
I should have applied the same fix to the code a few lines too.
This does exactly that._

Fix version
3.6.0