Undo key signature doesn't work on second staff

• Aug 19, 2014 - 20:59
Type
Functional
Severity
S4 - Minor
Status
closed
Project

6d1c39432c

  1. Create a score with two flutes and 4 sharps
  2. Select first key signature and delete it
  3. Undo

Expected result: the key signature is back to 4 sharps on all staves
Actual result: the second staff features 4 naturals


Comments

The score fixes itself after a doLayout(), so no serious harm done.

Here's what I know so far:

Score::endCmd() is not called for undo operations, but Score::endUndoRedo is, and this is where doLayout() gets called. And it *is* getting called here. It just for some reason isn't doing the job the first time, even though a second call fixes it. gdb is not cooperating - keeps crashing in mid-session - so I can't tell more.

If I had to guess, I'd say maybe it has something to do with "generated" flags on the key sigs.

I do not see the same thing or I do not understand anything. Currently with the latest Nightly, and after Undo, and new deleting, it works as expected : the four sharps disapears within two systems (not only from first system)? There may be another intermediate step?

Take a look at this: an other variation probably?
sharps.jpg

The steps to reproduce:
1.Delete the "original" four sharps
2. Undo
3. Escape
4. Drag and drop two sharps KeySig
5. Undo
6. Drag and drop again the two sharps KeySig

Result: as previous attached file.

The reported regression is always the cause.
Works well on December 7.

Attachment Size
sharps.jpg 52.07 KB

I see the following:

1) create new score using "treble staff" template, key of E
2) click initial key signature
3) delete
4) undo
5) click initial key signature again
6) delete

Result" key signature is removed from first system only

Same result if I create "from scratch" (using Empty instead of Treble Staff template)

I can confirm that the issues as I saw them seem fixed now - thanks, Werner!

BW, typo in my response #5 - step 6 should have been "delete", not "undo". I've fixed that now, but no matter; it didn't work yesterday but does today.