Pianoroll and Drumroll Editor information should disappear if there's no score and update if looking at another

• Oct 4, 2012 - 15:04
Priority
P0 - Critical
Type
Functional
Frequency
Few
Severity
S1 - Blocker
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

Information in the 'Pianoroll Editor' should disappear if there's no score loaded and update if looking at another.

Using MuseScore 2.0 Nightly Build (771004d) - Mac 10.7.5.


Comments

I marked as critical, because of crashes it can lead to:

1. Open score.
2. Right-click stave.
3. 'Pianoroll Editor'.

4. Close score.
5. Open score.
6. 'Play'.

4. Make change.
5. Close score.
6. 'Don't Save'.
7. Open score.

Result = Crash.

Using MuseScore 2.0 Nightly Build (771004d) - Mac 10.7.5.

Title Pianoroll Editor information should disappear if there's no score and update if looking at another Pianoroll and Drumroll Editor information should disappear if there's no score and update if looking at another

Also the 'Drumroll Editor' - I think that's all of them?

Using MuseScore 2.0 Nightly Build (deb8c96) - Mac 10.7.5.

The crash with pianoroll editor also happens with the following steps:

  1. Open one score (e.g. the Promenade example);
  2. Right-click stave;
  3. 'Pianoroll Editor';
  4. Close the score while leaving the 'Pianoroll Editor' window open;
  5. Click to focus on the 'Pianoroll Editor' window, click inside the Pianoroll editor. -> crash

Windows 8 & Linux Mint 13, commit 1f41a8570 (self-compiled).
The Pianoroll editor window is trying to access the score which has been deleted: this causes the crash.
Attached the address sanitizer log under Linux.

Attachment Size
pianoroll_crash.txt 3.98 KB
Severity S2 - Critical S1 - Blocker
Frequency Few
Priority P3 - Low
Regression No
Reproducibility Always
Workaround Yes

Crashes right after closing current score for me.

Status PR created fixed

Fixed in branch master, commit 313231b403

fix #18400: handle absent score and staff correctly in piano roll editor

This also adds some overrides marks and removes some empty member
functions from PianorollEditor class.