aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2021-11-26 11:24:02 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2021-11-26 11:24:16 +0000
commit09b2ceb96ab3a9fee53125380216c7b10b2c649c (patch)
tree993eeed0a63fe4a3a43ae08cc17e1b6b48509283 /share
parent3858181e61ee2565da82324c9de7837bc13d32dc (diff)
QmlDesigner: Destroy old view before each navigator preview generation
If you triggered another preview generation while previous is still going through the async loop, it was possible for puppet to crash or create a preview image with e.g. both material and model previews overlapping. Fixes: QDS-5600 Change-Id: Ia11e01cff0503483dc4152aa412c3f9aea7fea6d Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'share')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
index 715c82edf4..afc4adcae0 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp
@@ -1000,6 +1000,7 @@ void Qt5InformationNodeInstanceServer::doRenderModelNode3DImageView()
#ifdef QUICK3D_MODULE
m_modelNode3DImageViewAsyncData.cleanup();
if (m_modelNode3DImageViewData.rootItem) {
+ QMetaObject::invokeMethod(m_modelNode3DImageViewData.rootItem, "destroyView");
if (!m_modelNode3DImageViewData.contentItem)
m_modelNode3DImageViewData.contentItem = getContentItemForRendering(m_modelNode3DImageViewData.rootItem);