diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-12-07 22:12:10 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-12-08 10:16:23 +0000 |
commit | adc2fed683c6ff3f73a4cfc53517e87def1f03be (patch) | |
tree | ccf0da92ac229ff3b28a73e315d8fcfba6aeff5a | |
parent | 0b68ed166625fe32b3c23c45bb26a30e8a534da5 (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.
Change-Id: I7147023ac2f5a3542403d3aa549588b22db58da5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 50198de390254a82c2a37e2ed2fa244cc5ea2e50)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-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. |