summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2022-03-18 10:19:07 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2022-03-24 05:58:46 +0000
commitbd607909a514ac17a5d0e41ee664bf61494783b5 (patch)
treefbcab17c29a4867d56f54294b293d5338a1508b2
parentc1b585933bcacee610079f3067ff35efeae1e721 (diff)
downloadqt-creator-bd607909a514ac17a5d0e41ee664bf61494783b5.tar.gz
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.cpp8
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();
}
}