"Dropping" end barline onto Multi-Measure rest should apply barline to *end* of multi-measure rest

• Mar 20, 2016 - 05:25
P1 - High
S3 - Major

If I start with a multi-measure rest: semantics-drop-barline-MMrest.png
and the "drop" a barline (e.g. end-repeat barline) onto it: semantics-drop-barline-MMrest-after.png
then what has happened is the barline is applied to the end of the first measure of the multi-measure rest.

But the expected behvavior is that the barline should be applied to end of the last measure of the multi-measure rest. Applying to the end is consistent with the (correct & desired) behavior of "dropping" a {Line|Page|System}-break onto a multi-measure rest. For example if I start with: semantics-drop-newline-on-mm-rest.png
then after dropping a line break on that MMrest, I get: semantics-drop-newline-on-mm-rest-after.png

on latest git master 176a6d7.


Severity S4 - Minor S3 - Major
Priority P1 - High
Regression No
Workaround No

Current behavior is different, barlines added to mmrests get ignored entirely.

In reply to by Marc Sabatella

Actually, the barline is changed, but then it is immediately overwritten by the barline type of the last one of the measures "contained" inside the MMRest, which remains a normal barline, since only the barline of the MMRest object is changed in this case.
I think the proper way to deal with this is to link the barline of the last measures within the MMRest with the barline of the MMRest, probably here: https://github.com/musescore/MuseScore/blob/b18bf8add326e95db17b47333ed…
or maybe here: https://github.com/musescore/MuseScore/blob/b18bf8add326e95db17b47333ed…
so that they are both changed at the same time.

I quickly tried to add a link instruction on both places, and the behavior is correct, but I sometimes get a crash during undo/redo, so I think I made the linking wrong.

Linking is possible, but right now this doesn't happen at all, not for linked parts either. I've got a solution almost ready that solves this an other related problems without requiring barlines to be linked, as that seemed dangerous.

Fix version