From 079c72cdbb2a4fcedbeb66c1e7be15543a155f60 Mon Sep 17 00:00:00 2001 From: Dmitri Ovodok Date: Wed, 25 Sep 2019 13:36:07 +0200 Subject: [PATCH] Fix palettes-related crashes - Fix a crash on showing a tooltip after drag-and-drop in some cases - Fix a crash on program exit on Windows --- mscore/musescore.cpp | 6 ++++++ mscore/qml/nativetooltip.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mscore/musescore.cpp b/mscore/musescore.cpp index aed69a3fd9..448d340cd4 100644 --- a/mscore/musescore.cpp +++ b/mscore/musescore.cpp @@ -1960,6 +1960,12 @@ MuseScore::~MuseScore() autoUpdater->cleanup(); delete synti; + + // A crash is possible if paletteWorkspace gets + // deleted before paletteWidget, so force the widget + // be deleted before paletteWorkspace. + delete paletteWidget; + paletteWidget = nullptr; } //--------------------------------------------------------- diff --git a/mscore/qml/nativetooltip.h b/mscore/qml/nativetooltip.h index 2d4e8ca211..1a790f2988 100755 --- a/mscore/qml/nativetooltip.h +++ b/mscore/qml/nativetooltip.h @@ -33,7 +33,7 @@ class QmlNativeToolTip : public QObject { Q_PROPERTY(QString text READ text WRITE setText) QWidget* _widget; - QQuickItem* _item = nullptr; + QPointer _item = nullptr; QString _text; QString _lastShownText; QTimer _timer;