forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user