Hidden dynamic symbols become visible 2.X->3.0

• Aug 18, 2018 - 11:07
Reported version
3.0
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Tested with self built MuseScore on OS: Windows 10 (10.0), Arch.: x86_64, MuseScore version (32-bit): 3.0.0, revision: 44304ca

  1. Open attached score
  2. Go to measure 11
    Result: dynamic symbols hidden in 2.3.2 were lost in 3.0.
    hidden_visibility_lost.PNG
Attachment Size
2510026.mscz 93.71 KB

Comments

Status (old) patch (code needs review) fixed
Status fixed

Fixed in branch master, commit a5acf08eb3

fix #275361: Hidden dynamic symbols become visible 2.X->3.0

Error was that we need always call element::layout() method. Otherwise position of elements are (0.0 0.0). And painter doesn't draw elements with this position.
And now layout() is called for both visible and invisible elements, but invisible ones don't participate in autoplacement operations, so there is neither performance impact nor invisible elements autoplacement.
This leads to invisible elements collision if you switch visibility, but it is expected I believe, since we position elements for printing, but invisible elements are for playback.