[Trunk] Moving object, then undo causes crash

• Sep 19, 2011 - 22:09
S2 - Critical

1. Open score.
2. Drag an arpeggio to a note.
3. Drag the arpeggio somewhere.
4. Undo.

Result: Crash.

Using MuseScore 2.0 Nightly Build (4801) - Mac 10.6.8.


I can also confirm under Win7 R4804. I've created a sample score that I use for v2 trunk testing and includes every form of arpeggio and glissando along with many other elements. Moving any one of them and undo-ing will immediately crash MS.

Definitely still a problem in R4812, Win7. Almost any element now when moved and "undo" will crash MS straight-away. Fermata, arpeggio, accents, voltas, notes, breath marks, notes, rests etc, but not slurs/ties.

It doesn't matter what I use. I just created a new score, tried moving the measure rest in the first bar, undo and crash. It's that simple. I did a full recompile at 4811, and a quick compile for 4812, even did a factory reset. I can do a full recompile but I doubt that would solve it.

OK, I can't make it crash but something else is happening. When I create a new score and initially grab something (like a rest) and move it, the treble and bass clef in the second system change from large to small and back to large when I release the mouse. Moving something else doesn't make the clefs shift in size until I undo the move and grab something else to move. Weird effect!

If I move a note, then undo, the note head goes to the wrong place and separates from the stem.

I can also grab and move the time sig. Am I supposed to be able to do that?

Since I suspect these issues are side-effects of this latest fix, I thought it best to include them here as I think they relate.

And with this fix, even more. Try deleting any element, and then undo. The element doesn't get redrawn but it is back, you just have to click somewhere to have it suddenly appear.

The latest changes were somewhat invasive and may create some regressions. More testing is needed.
r. 4814 tries to fix undo/redo (re-layout was missing) and dragging of the note head.
Best is to create new bug tracker entries for new bugs/regressions.