diff options
Diffstat (limited to 'muse2/muse/waveedit/waveedit.cpp')
-rw-r--r-- | muse2/muse/waveedit/waveedit.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index 424f0688..8d58cfb3 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -64,10 +64,12 @@ namespace MusEGui { void WaveEdit::closeEvent(QCloseEvent* e) { + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + QSettings settings("MusE", "MusE-qt"); //settings.setValue("Waveedit/geometry", saveGeometry()); settings.setValue("Waveedit/windowState", saveState()); - emit deleted(static_cast<TopWin*>(this)); + emit isDeleting(static_cast<TopWin*>(this)); e->accept(); } @@ -458,7 +460,9 @@ void WaveEdit::readStatus(MusECore::Xml& xml) void WaveEdit::songChanged1(int bits) { - + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (bits & SC_SOLO) { MusECore::WavePart* part = (MusECore::WavePart*)(parts()->begin()->second); |