summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-12-07 22:12:10 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-12-08 10:16:23 +0000
commitadc2fed683c6ff3f73a4cfc53517e87def1f03be (patch)
treeccf0da92ac229ff3b28a73e315d8fcfba6aeff5a
parent0b68ed166625fe32b3c23c45bb26a30e8a534da5 (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.cpp10
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.