Crash if using "Fill with slashes" on mm rests
Reported version
3.0
Priority
P0 - Critical
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project
OS: Windows 7 SP 1 (6.1), Arch.: x86_64, MuseScore version (64-bit): 3.0.0.4839, revision: cf1f5ce
1) Default score
2) Enter some measures including mm rests, or load the test file: mm slashes.mscz
3) Select range a mm rest - image below
4) Tools -> Fill with slashes
---> Crash
-
No issue if the selection includes a filled measure before/after the mm rest
Fix version
3.2.0
Comments
Confirming crash (qassert) by doing above procedure. Using 9/feb HEAD 88110b5.
Also crashes if non-range selecting last MMR (marked 3), and deleting it (ctrl-del).
Backtrace from first crash:
And backtrace from second way of crashing it:
Measure::computeMinWidth(a, b, c) is doing what seems a valid assumption that if isMMRest() holds, then elements of Rest type is only to be found. But it fails at toRest() conversion, when instead findSegmentR() gives back a ElementType::CHORD type.
Sent a PR: https://github.com/musescore/MuseScore/pull/4680
The fix avoids a crash, but probably doesn't do the right thing (remove MM and insert slashes).
Fixed in branch master, commit b556892e14
fix #280906: fix a crash on using "Fill with slashes" on MM rests
Automatically closed -- issue fixed for 2 weeks with no activity.