diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-03-18 10:19:07 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-03-24 05:58:46 +0000 |
commit | bd607909a514ac17a5d0e41ee664bf61494783b5 (patch) | |
tree | fbcab17c29a4867d56f54294b293d5338a1508b2 | |
parent | c1b585933bcacee610079f3067ff35efeae1e721 (diff) |
QmlDesigner: Reset puppet when ParticleShape3D is reparented
This is a workaround to QtQuick3D bug that only updates the parent
node of the shape at componentComplete.
Fixes: QDS-6473
Change-Id: Ice8afdc81b35eb40c07889bb1eebcdb70e68c17d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r-- | src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index a606123432..670a6a5c4a 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -565,9 +565,11 @@ void NodeInstanceView::nodeReparented(const ModelNode &node, const NodeAbstractP // Reset puppet when particle emitter/affector is reparented to work around issue in // autodetecting the particle system it belongs to. QTBUG-101157 - if ((node.isSubclassOf("QtQuick.Particles3D.ParticleEmitter3D") - || node.isSubclassOf("QtQuick.Particles3D.Affector3D")) - && node.property("system").toBindingProperty().expression().isEmpty()) { + // Reset is also needed when particle shapes are reparented. QTBUG-101882 + if (((node.isSubclassOf("QtQuick.Particles3D.ParticleEmitter3D") + || node.isSubclassOf("QtQuick.Particles3D.Affector3D")) + && node.property("system").toBindingProperty().expression().isEmpty()) + || node.isSubclassOf("QQuick3DParticleAbstractShape")) { resetPuppet(); } } |