Crash on slurs
I have a score created in 2.1 originally that is consistently crashing the latest MuseScore 3.0 master build.
Works OK in 2.1.
Can't quite trace what is causing it, but I'm guessing an object is being deleted too soon.
Stack listing below:
Getting a SIGSEGV when calling toSystem in Spanner.cpp
1 Ms::ScoreElement::isSystem scoreElement.h 237 0xdcea4d
2 Ms::toSystem scoreElement.h 384 0x83c5c4
3 Ms::SpannerSegment::system spanner.cpp 50 0x83c73b
4 Ms::SpannerSegment::setSystem spanner.cpp 59 0x83c752
5 Ms::SlurTie::fixupSegments slurtie.cpp 540 0x83b1c1
6 Ms::Tie::layoutFor tie.cpp 676 0x83859c
7 Ms::Score::collectSystem layout.cpp 3115 0x7c6018
8 Ms::LayoutContext::collectPage layout.cpp 3364 0x7c7e26
9 Ms::LayoutContext::layout layout.cpp 3653 0x7c9830
10 Ms::Score::doLayoutRange layout.cpp 3640 0x7c972e
11 Ms::Score::update cmd.cpp 222 0x8a4ce5
12 Ms::Seq::seek seq.cpp 1110 0x4f1fef
13 Ms::Seq::start seq.cpp 326 0x4ef0bb
14 Ms::ScoreView::changeState events.cpp 812 0x41d387
15 Ms::ScoreView::cmd scoreview.cpp 1742 0x40bb67
16 Ms::ScoreView::cmd scoreview.cpp 1678 0x40b72f
17 Ms::MuseScore::cmd musescore.cpp 5132 0x49fa9f
18 Ms::MuseScore::cmd musescore.cpp 4672 0x49d638
19 Ms::MuseScore::qt_static_metacall moc_musescore.cpp 740 0x6c77e3
20 ZN11QMetaObject8activateEP7QObjectiiPPv 0x68c03046
Note that it loads OK, but will crash when trying to play, or to save to another file.
Further investigation reveals that ALL systems are deleted as part of the doLayoutRange, but I'm not at all sure all Spanners are...
In reply to Note that it loads OK, but… by Robbie Matthews
The "new" (for master, actually it's been there a year or two now) layout stuff is still rather a mystery to me, so I can't be a whole lot of help here. But I'd suggest reporting this officially via the issue tracker, it's more likely to get looked at by someone who can fix it (eg, Werner).
In reply to The "new" (for master,… by Marc Sabatella
I've actually found it... the Tie's weren't having their parent set correctly... ie, it was using setParent, not setSystem, and thus weren't being properly unlinked from the parent system before it was destroyed.
Now to have a look at the issues list and create a suitable PR....