summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-12-07 22:12:10 +0100
committerMichal Klocek <michal.klocek@qt.io>2021-12-08 10:36:47 +0100
commit50198de390254a82c2a37e2ed2fa244cc5ea2e50 (patch)
tree4f4b459b8850b607ae15aefae1d7d0544741a311 /src
parentbe1c35d8198cfd0d9b9e0cfac2fe3f2dc963a5a4 (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.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.