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>
This commit is contained in:
Miikka Heikkinen
2022-06-02 15:01:02 +03:00
parent e9a78b13b3
commit d1a56ddcfa
2 changed files with 18 additions and 0 deletions

View File

@@ -826,8 +826,15 @@ bool GeneralHelper::getBounds(QQuick3DViewport *view3D, QQuick3DNode *node, QVec
auto renderNode = static_cast<QSSGRenderNode *>(nodePriv->spatialNode); auto renderNode = static_cast<QSSGRenderNode *>(nodePriv->spatialNode);
if (recursive && renderNode) { if (recursive && renderNode) {
#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty)) if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty))
renderNode->calculateLocalTransform(); 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; localTransform = renderNode->localTransform;
} }

View File

@@ -192,7 +192,11 @@ void SelectionBoxGeometry::doUpdateGeometry()
m = targetRN->parent->globalTransform; m = targetRN->parent->globalTransform;
} }
rootRN->localTransform = m; rootRN->localTransform = m;
#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
rootRN->markDirty(QSSGRenderNode::TransformDirtyFlag::TransformNotDirty); rootRN->markDirty(QSSGRenderNode::TransformDirtyFlag::TransformNotDirty);
#else
rootRN->markDirty(QSSGRenderNode::DirtyFlag::TransformDirty);
#endif
rootRN->calculateGlobalVariables(); rootRN->calculateGlobalVariables();
} else if (!m_spatialNodeUpdatePending) { } else if (!m_spatialNodeUpdatePending) {
// Necessary spatial nodes do not yet exist. Defer selection box creation one frame. // 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 (node != m_targetNode) {
if (renderNode) { if (renderNode) {
#if QT_VERSION < QT_VERSION_CHECK(6, 4, 0)
if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty)) if (renderNode->flags.testFlag(QSSGRenderNode::Flag::TransformDirty))
renderNode->calculateLocalTransform(); 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; localTransform = renderNode->localTransform;
} }
trackNodeChanges(node); trackNodeChanges(node);