Next/previous element skips staff texts entered out of order
Reported version
3.x-dev
Priority
P2 - Medium
Type
Functional
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
1) new score, two staves
2) enter a staff text on the measure one rest, top staff
3) enter another on the measure one rest, bottom staff
4) enter one more on the measure one rest, top staff
5) click the measure one rest
If you press Alt+right, the first text is selected. But pressing it again skips the other text you entered on that staff and moves on to the barline instead. Fixes itself on reload.
Fix version
3.3.0
Comments
https://github.com/musescore/MuseScore/pull/5308
Fixed in branch master, commit 9149511f19
_fix #294121: navigation skips annotations entered out of order
Annotations are appended to the annotation list as they are entered.
This means they won't necessarily be sorted by track,
if you enter them onto staves in any order but top down.
The result is the navitgation code skips all annotations for a staff
after the first annotation it encounters on a different staff.
This commit fixes the issue by continuing to loop through the annotations,
looking for more on the same staff.
anatoly-os: rewrite the improvement from #5308 using
find_if
anatoly-os: Did refactoring using
find_if
to make the code cleaner. Initial idea and implementation are authored by @MarcSabatella._Fixed in branch 3.3rc, commit b3574adad7
_fix #294121: navigation skips annotations entered out of order
Annotations are appended to the annotation list as they are entered.
This means they won't necessarily be sorted by track,
if you enter them onto staves in any order but top down.
The result is the navitgation code skips all annotations for a staff
after the first annotation it encounters on a different staff.
This commit fixes the issue by continuing to loop through the annotations,
looking for more on the same staff.
anatoly-os: rewrite the improvement from #5308 using
find_if
anatoly-os: Did refactoring using
find_if
to make the code cleaner. Initial idea and implementation are authored by @MarcSabatella._Automatically closed -- issue fixed for 2 weeks with no activity.