[trunk] Crash on changing time signature

• Feb 9, 2012 - 01:14
Type
Functional
Severity
S2 - Critical
Status
closed
Project

Setup trunk rev. 5304, latest Qt SDK (Qt lib 4.7.4) under Ubuntu 11.10

Steps:

1) Open (or create) any score,
2) At some point in the the mid of score, drop a different time signature on a measure (the new time sig. shall not be related to the previous one, like for instance 4/4 and C are)

Result: the program crashes (SIGFAULT)

Analysis:

The issue seems to origin in function void ScoreView::dropEvent() (file mscore/dragdrop.cpp), line 506:

_score->select(dropElement, SELECT_SINGLE, 0);

Score::select() calls the method type() of dropElement, but this method is pure virtual, at least in this context.

Note: dropping a time signature was possible only a few days ago, so it should be a rather recent change.

Thanks,

M.


Comments

I've found time signature change to be limited - usually, it doesn't do it correctly, or causes a crash.

I've filed a couple of reports (some still not filed - waiting for some fixes to help clear things up) - some I'm unsure of the cause.

My report refers to rev. 5304 (and also to rev. 5307 now); the crash IS immediate:

Drop a new time signature somewhere mid-score => crash. No need (and no time!) to add anything. Measures before and after the drop point can be empty (only rests) or filled with notes, it doesn't matter.

M.