diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-12-07 22:12:10 +0100 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2021-12-08 10:36:47 +0100 |
commit | 50198de390254a82c2a37e2ed2fa244cc5ea2e50 (patch) | |
tree | 4f4b459b8850b607ae15aefae1d7d0544741a311 /src | |
parent | be1c35d8198cfd0d9b9e0cfac2fe3f2dc963a5a4 (diff) |
Disconnect signals form base class of qquickviewcontroller
Prevent calling signals on derived class on destruction form
base class. This is not safe and we guard for that now in qtcore.
Pick-to: 6.2
Change-Id: I7147023ac2f5a3542403d3aa549588b22db58da5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/qquickviewcontroller.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/quick/qquickviewcontroller.cpp b/src/quick/qquickviewcontroller.cpp index 30bf46b..f42504c 100644 --- a/src/quick/qquickviewcontroller.cpp +++ b/src/quick/qquickviewcontroller.cpp @@ -163,7 +163,11 @@ QQuickViewController::QQuickViewController(QQuickItem *parent) &QQuickViewController::onVisibleChanged); } -QQuickViewController::~QQuickViewController() { } +QQuickViewController::~QQuickViewController() +{ + disconnect(this); + onWindowChanged(nullptr); +} void QQuickViewController::componentComplete() { @@ -174,7 +178,7 @@ void QQuickViewController::componentComplete() void QQuickViewController::updatePolish() { - if (m_view == 0) + if (m_view == nullptr) return; QSize itemSize = QSize(width(), height()); @@ -182,7 +186,7 @@ void QQuickViewController::updatePolish() return; QQuickWindow *w = window(); - if (w == 0) + if (w == nullptr) return; // Find this item's geometry in the scene. |