Problems with recent changes to undo?

• Mar 16, 2013 - 23:27

Hi,

since a few days (difficult to say how long, I think at least a week), many undo operations result in crash. Rather than a long list of individual cases, I think that saying that most changes through dlg box settings (like, "Style | Texts" or "Style | Edit staff types") are affected gives an idea. In other words, making some changes through those dlg and then undoing it results in SIGFAULT. An example which should be easily reproducible can be:

1) Create or open a score
2) Change the font size of one of the "Styles | Texts"
3) Accept
4) Undo

This just one example. I don't think there is anything wrong with font sizes in particular, as many other undo operations have the same result. This points to some recent, rather general structural change in the undo framework. Possibly this will ring some bell to the core developers.

In many cases (all the cases since I noticed this), the crash is in function void Score::removeElement(Element* element) (file libmscore/score.cpp) at line 1510 which says:

if (element->parent() && element->parent()->type() == Element::SEGMENT)

The problem seems to be that:

1) the function is called with this (i.e. the score object) being 0.

OR

2) element has a non-null parent, but the pointer is invalid

OR both.

Any bell, anyone?

EDIT (I forgot to add): I'm running self-compiled source code under Linux Mint 14, with Qt libs 4.8.3 and Qt Creator 2.5.2

M.


Comments

Do you still have an unanswered question? Please log in first to post your question.