diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2021-11-26 11:24:02 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2021-11-26 11:24:16 +0000 |
commit | 09b2ceb96ab3a9fee53125380216c7b10b2c649c (patch) | |
tree | 993eeed0a63fe4a3a43ae08cc17e1b6b48509283 /share | |
parent | 3858181e61ee2565da82324c9de7837bc13d32dc (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.cpp | 1 |
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); |