summaryrefslogtreecommitdiff
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/selectionboxgeometry.cpp
index 4a67141f24..41d389b446 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);