About `ChangeChordRestLen()` in line 1663, I tried to change it into `ChangeChordRestDuration()` and it does not work: the duration (in `DurationElement::_duration`) is updated but `_durationType` is not and the rest, while (probably) lasting the correct amount of time, if it was originally a whole-measure rest, is still displayed as a whole-measure rest.

About `ChangeChordRestLen()` in line 1655, it was originally so (see current, unpatched code line 1653); and this matches your last comment, as we are precisely trying to show the rest as a whole measure rest.

The comment in line 1653 is not precise, though: rather, it should says:
`// if measure value matches time sig, stick to whole measure rest`
I can update it, if you think it is important.