aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2022-06-02 15:01:02 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2022-06-03 13:25:44 +0000
commitd1a56ddcfad81bd1a4757096753f609269243c4e (patch)
tree7e4bf2844e49ae485010dffacf9502e3ce729fe3 /share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d
parente9a78b13b38425e50589dc72e72d0e14d0e4cfbf (diff)
QmlDesigner: Fix issues with quick3d private API changes in Qt 6.4
Change-Id: I5974c7f663262c88810ddaac6f9c775d95749266 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp7
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp11
2 files changed, 18 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp
index dd21622b5d..74c2eb270e 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/generalhelper.cpp
@@ -826,8 +826,15 @@ bool GeneralHelper::getBounds(QQuick3DViewport *view3D, QQuick3DNode *node, QVec
auto renderNode = static_cast<QSSGRenderNode *>(nodePriv->spatialNode);
if (recursive && renderNode) {
+#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty))
renderNode->calculateLocalTransform();
+#else
+ if (renderNode->isDirty(QSSGRenderNode::DirtyFlag::TransformDirty)) {
+ renderNode->localTransform = QSSGRenderNode::calculateTransformMatrix(
+ node->position(), node->scale(), node->pivot(), node->rotation());
+ }
+#endif
localTransform = renderNode->localTransform;
}
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp
index 8296c9155d..dc4484de9d 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp
@@ -192,7 +192,11 @@ void SelectionBoxGeometry::doUpdateGeometry()
m = targetRN->parent->globalTransform;
}
rootRN->localTransform = m;
+#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
rootRN->markDirty(QSSGRenderNode::TransformDirtyFlag::TransformNotDirty);
+#else
+ rootRN->markDirty(QSSGRenderNode::DirtyFlag::TransformDirty);
+#endif
rootRN->calculateGlobalVariables();
} else if (!m_spatialNodeUpdatePending) {
// Necessary spatial nodes do not yet exist. Defer selection box creation one frame.
@@ -236,8 +240,15 @@ void SelectionBoxGeometry::getBounds(
if (node != m_targetNode) {
if (renderNode) {
+#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty))
renderNode->calculateLocalTransform();
+#else
+ if (renderNode->isDirty(QSSGRenderNode::DirtyFlag::TransformDirty)) {
+ renderNode->localTransform = QSSGRenderNode::calculateTransformMatrix(
+ node->position(), node->scale(), node->pivot(), node->rotation());
+ }
+#endif
localTransform = renderNode->localTransform;
}
trackNodeChanges(node);