summaryrefslogtreecommitdiff
path: root/muse2/muse/liste/listedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/liste/listedit.cpp')
-rw-r--r--muse2/muse/liste/listedit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp
index eadfa68c..e4837bf9 100644
--- a/muse2/muse/liste/listedit.cpp
+++ b/muse2/muse/liste/listedit.cpp
@@ -183,7 +183,8 @@ static QString midiMetaComment(const MusECore::Event& ev)
void ListEdit::closeEvent(QCloseEvent* e)
{
- emit deleted(static_cast<TopWin*>(this));
+ _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored.
+ emit isDeleting(static_cast<TopWin*>(this));
e->accept();
}
@@ -193,6 +194,9 @@ void ListEdit::closeEvent(QCloseEvent* e)
void ListEdit::songChanged(int type)
{
+ if(_isDeleting) // Ignore while while deleting to prevent crash.
+ return;
+
if (type == 0)
return;
if (type & (SC_PART_REMOVED | SC_PART_MODIFIED