diff options
author | Inho Lee <inho.lee@qt.io> | 2024-01-03 11:50:33 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-01-27 04:42:20 +0000 |
commit | 7c0ba71d67d453a958da954e7810cad8c3edb0d6 (patch) | |
tree | 49b296455d7eaa7b4cd2f26b79c4c157e2b6c4c6 | |
parent | 9d5698d8e7452265a4bdc2360212c877640c69ca (diff) |
Detach QQuick3DWindowAttachment from QQuickWindow in destructor
While loading/unloading Quick3D repeatedly,
a deleted windowAttachment can be accessed through QQuickWindow.
Fixes: QTBUG-120424
Fixes: QTBUG-121390
Pick-to: 6.6.2
Change-Id: If53e20c2468d4a1f7656087e1d58976760db6d90
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit 45bcf958b7f937c52c9f4efa52828820b86942d5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 203e7da8ed903c8304042605d5d464f8b55ad0a6)
-rw-r--r-- | src/quick3d/qquick3dscenemanager.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/quick3d/qquick3dscenemanager.cpp b/src/quick3d/qquick3dscenemanager.cpp index 055848fd..06d0add7 100644 --- a/src/quick3d/qquick3dscenemanager.cpp +++ b/src/quick3d/qquick3dscenemanager.cpp @@ -432,6 +432,9 @@ QQuick3DWindowAttachment::~QQuick3DWindowAttachment() qDeleteAll(resourceCleanupQueue); qDeleteAll(pendingResourceCleanupQueue); + if (m_window) + m_window->setProperty(qtQQ3DWAPropName, QVariant()); + QSSG_CHECK_X(!m_rci || m_rci.use_count() == 1, "RCI has unexpected reference count!"); } |