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);
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
|
Reference in New Issue
Block a user