musescore / musescore/MuseScore
Range selection gets stuck when crossing empty staves
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Issue type
UX/Interaction bug (incorrect behaviour)
Description with steps to reproduce
In the video:
First, select the first cello note and press shift-up twice then shift-down twice: the range expands then contracts.
Now, select the second cello note and try the same. The range expands to reach the second violin note, but pressing shift-down does not make it contract again.
The problem does not occur if there is a note or rest at beat 1.25 in the viola stave.
Supporting files, videos and screenshots
https://github.com/user-attachments/assets/99fb1d58-553c-40ca-93b6-d6f8d8b27833
In which versions of MuseScore Studio is this issue present?
OS: macOS Sequoia (15.7.7), Arch.: arm64, MuseScore Studio version (64-bit): 4.7.4-260706075, revision: github-musescore-musescore-7688c00
Regression
I was unable to check
Operating system
macOS
Additional context
No response
Checklist
- This report follows the guidelines for reporting bugs and issues
- I have verified that this issue has not been logged before, by searching the issue tracker for similar issues
- I have attached all requested files and information to this report
- I have attempted to identify the root problem as concisely as possible, and have used minimal reproducible examples where possible
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in MuseScore Studio 4.7.4 using the cello, violin, and viola staves described: select the second cello note, press Shift-Up twice, then Shift-Down twice. Compare the behavior when the viola has no event at beat 1.25 with a case where it has a note or rest. Done means the range contracts correctly in both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100