Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qt-creator for openSUSE:Factory 
checked in at 2025-10-13 17:26:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt-creator (Old)
 and      /work/SRC/openSUSE:Factory/.qt-creator.new.18484 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qt-creator"

Mon Oct 13 17:26:44 2025 rev:51 rq:1310314 version:17.0.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/qt-creator/qt-creator.changes    2025-10-08 
18:17:27.809813950 +0200
+++ /work/SRC/openSUSE:Factory/.qt-creator.new.18484/qt-creator.changes 
2025-10-13 17:33:06.453782156 +0200
@@ -1,0 +2,6 @@
+Wed Oct  8 20:52:46 UTC 2025 - Christophe Marin <[email protected]>
+
+- Add upstream change:
+  * 0001-QmlDesigner-Compile-fixes-for-Qt-6.10-private-API-ch.patch
+
+-------------------------------------------------------------------

New:
----
  0001-QmlDesigner-Compile-fixes-for-Qt-6.10-private-API-ch.patch

----------(New B)----------
  New:- Add upstream change:
  * 0001-QmlDesigner-Compile-fixes-for-Qt-6.10-private-API-ch.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qt-creator.spec ++++++
--- /var/tmp/diff_new_pack.t6mGJn/_old  2025-10-13 17:33:09.165896545 +0200
+++ /var/tmp/diff_new_pack.t6mGJn/_new  2025-10-13 17:33:09.173896882 +0200
@@ -60,6 +60,7 @@
 Source:         
https://download.qt.io/official_releases/qtcreator/%{short_version}/%{real_version}%{tar_suffix}/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz
 Source1:        qt-creator-rpmlintrc
 # Patches 0-10 are upstream changes
+Patch0:         0001-QmlDesigner-Compile-fixes-for-Qt-6.10-private-API-ch.patch
 # Patches 11-20 are openSUSE changes
 Patch11:        fix-application-output.patch
 Patch12:        0001-Disable-some-plugins.patch

++++++ 0001-QmlDesigner-Compile-fixes-for-Qt-6.10-private-API-ch.patch ++++++
>From 5a4c700ccefc76c7c531c834734e6fefa14b5364 Mon Sep 17 00:00:00 2001
From: Miikka Heikkinen <[email protected]>
Date: Tue, 29 Jul 2025 17:20:41 +0300
Subject: [PATCH] QmlDesigner: Compile fixes for Qt 6.10 private API changes

Fixes: QDS-15681
Change-Id: Ie2f56a31e7323a6c4eb9a306c63e0b87b4480c41
Reviewed-by: Mahmoud Badri <[email protected]>
(cherry picked from commit c901f9e3e9f28aa651448e05d3cac531193de3fc)
---
 .../qmlpuppet/editor3d/camerageometry.cpp     |  2 +-
 .../qmlpuppet/editor3d/generalhelper.cpp      | 12 +++++++-
 .../qmlpuppet/editor3d/mousearea3d.cpp        | 15 +++++++---
 .../qmlpuppet/editor3d/mousearea3d.h          |  1 +
 .../editor3d/selectionboxgeometry.cpp         |  7 ++---
 .../qt5bakelightsnodeinstanceserver.cpp       | 28 +++++++++++++++++++
 6 files changed, 54 insertions(+), 11 deletions(-)

diff --git a/src/tools/qmlpuppet/qmlpuppet/editor3d/camerageometry.cpp 
b/src/tools/qmlpuppet/qmlpuppet/editor3d/camerageometry.cpp
index 2c5987e0445..d8361f93066 100644
--- a/src/tools/qmlpuppet/qmlpuppet/editor3d/camerageometry.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/editor3d/camerageometry.cpp
@@ -154,7 +154,7 @@ void CameraGeometry::fillVertexData(QByteArray &vertexData, 
QByteArray &indexDat
         QRectF rect = m_viewPortRect;
         if (rect.isNull())
              rect = QRectF(0, 0, 1000, 1000); // Let's have some visualization 
for null viewports
-        camera->calculateGlobalVariables(rect);
+        camera->calculateProjection(rect);
         m = camera->projection.inverted();
     }
 
diff --git a/src/tools/qmlpuppet/qmlpuppet/editor3d/generalhelper.cpp 
b/src/tools/qmlpuppet/qmlpuppet/editor3d/generalhelper.cpp
index 647d170383b..eb246b6b704 100644
--- a/src/tools/qmlpuppet/qmlpuppet/editor3d/generalhelper.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/editor3d/generalhelper.cpp
@@ -357,12 +357,22 @@ QVector4D 
GeneralHelper::focusNodesToCamera(QQuick3DCamera *camera, float defaul
                         auto geometry = qobject_cast<SelectionBoxGeometry 
*>(model->geometry());
                         if (geometry) {
                             bounds = geometry->bounds();
+
+                            // Selection boxes manipulate render node parent's 
transform directly,
+                            // so we can't just use sceneTransform() of the 
model.
+                            // However, they are always at top level, so we 
can use local transform
+                            // from the render node's parent.
+                            QMatrix4x4 m;
+                            if (renderModel->parent)
+                                m = renderModel->parent->localTransform;
+                            m *= renderModel->localTransform;
+                            center = m.map(bounds.center());
                         } else {
                             const auto 
&bufferManager(context->bufferManager());
                             bounds = 
bufferManager->getModelBounds(renderModel);
+                            center = 
model->sceneTransform().map(bounds.center());
                         }
 
-                        center = 
renderModel->globalTransform.map(bounds.center());
                         const QVector3D e = bounds.extents();
                         const QVector3D s = model->sceneScale();
                         qreal maxScale = qSqrt(qreal(s.x() * s.x() + s.y() * 
s.y() + s.z() * s.z()));
diff --git a/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.cpp 
b/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.cpp
index de6737c39db..8506fb1a454 100644
--- a/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.cpp
@@ -808,8 +808,7 @@ QVector3D MouseArea3D::getMousePosInPlane(const MouseArea3D 
*helper,
     const DoubleVec3D rayPos0 = m_view3D->mapTo3DScene(mousePos1.toVec3());
     DoubleVec3D rayPos1;
     if (qobject_cast<QQuick3DOrthographicCamera *>(m_view3D->camera())) {
-        if (auto cameraNode = static_cast<QSSGRenderCamera 
*>(QQuick3DObjectPrivate::get(m_view3D->camera())->spatialNode))
-            rayPos1 = rayPos0 - rayPos0.length() * 
DoubleVec3D(cameraNode->getDirection());
+        rayPos1 = rayPos0 - rayPos0.length() * 
DoubleVec3D(getDirection(m_view3D->camera()));
     } else {
         DoubleVec3D dir;
         DoubleVec3D camPos = m_view3D->camera()->scenePosition();
@@ -1030,6 +1029,15 @@ QVector3D MouseArea3D::getNormal() const
     return QVector3D(dataPtr[8], dataPtr[9], dataPtr[10]).normalized();
 }
 
+QVector3D MouseArea3D::getDirection(const QQuick3DNode *node) const
+{
+    const QMatrix4x4 m = node->sceneTransform();
+    const float *dataPtr(m.data());
+    QVector3D retval(dataPtr[8], dataPtr[9], dataPtr[10]);
+    retval.normalize();
+    return retval;
+}
+
 QVector3D MouseArea3D::getCameraToNodeDir(QQuick3DNode *node) const
 {
     QVector3D dir;
@@ -1037,8 +1045,7 @@ QVector3D MouseArea3D::getCameraToNodeDir(QQuick3DNode 
*node) const
         // We need to do a cast here to be compatible with Qt 5.x.
         // From Qt 6.2 the type can be read from the node directly.
         if (qobject_cast<QQuick3DOrthographicCamera *>(m_view3D->camera())) {
-            if (auto renderCamera = 
QQuick3DObjectPrivate::get(m_view3D->camera())->spatialNode)
-                dir -= static_cast<QSSGRenderCamera 
*>(renderCamera)->getDirection();
+            dir -= getDirection(m_view3D->camera());
         } else {
             QVector3D camPos = m_view3D->camera()->scenePosition();
             QVector3D nodePos = pivotScenePosition(node);
diff --git a/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.h 
b/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.h
index 8d705c6eb0b..49a61bdfa09 100644
--- a/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.h
+++ b/src/tools/qmlpuppet/qmlpuppet/editor3d/mousearea3d.h
@@ -135,6 +135,7 @@ private:
     void setDragging(bool enable);
     void setHovering(bool enable);
     QVector3D getNormal() const;
+    QVector3D getDirection(const QQuick3DNode *node) const;
     QVector3D getCameraToNodeDir(QQuick3DNode *node) const;
 
     Q_DISABLE_COPY(MouseArea3D)
diff --git a/src/tools/qmlpuppet/qmlpuppet/editor3d/selectionboxgeometry.cpp 
b/src/tools/qmlpuppet/qmlpuppet/editor3d/selectionboxgeometry.cpp
index 48e0f9f23df..ea453d73819 100644
--- a/src/tools/qmlpuppet/qmlpuppet/editor3d/selectionboxgeometry.cpp
+++ b/src/tools/qmlpuppet/qmlpuppet/editor3d/selectionboxgeometry.cpp
@@ -195,13 +195,10 @@ void SelectionBoxGeometry::doUpdateGeometry()
             // to avoid having to reparent the selection box. This has to be 
done directly on render
             // nodes.
             QMatrix4x4 m;
-            if (targetRN->parent) {
-                targetRN->parent->calculateGlobalVariables();
-                m = targetRN->parent->globalTransform;
-            }
+            if (m_targetNode->parentNode())
+                m = m_targetNode->parentNode()->sceneTransform();
             rootRN->localTransform = m;
             rootRN->markDirty(QSSGRenderNode::DirtyFlag::TransformDirty);
-            rootRN->calculateGlobalVariables();
         } else if (!m_spatialNodeUpdatePending) {
             // Necessary spatial nodes do not yet exist. Defer selection box 
creation one frame.
             m_spatialNodeUpdatePending = true;
diff --git 
a/src/tools/qmlpuppet/qmlpuppet/instances/qt5bakelightsnodeinstanceserver.cpp 
b/src/tools/qmlpuppet/qmlpuppet/instances/qt5bakelightsnodeinstanceserver.cpp
index 770eabdaa8d..f0a108a274e 100644
--- 
a/src/tools/qmlpuppet/qmlpuppet/instances/qt5bakelightsnodeinstanceserver.cpp
+++ 
b/src/tools/qmlpuppet/qmlpuppet/instances/qt5bakelightsnodeinstanceserver.cpp
@@ -96,6 +96,7 @@ void Qt5BakeLightsNodeInstanceServer::bakeLights()
         return;
     }
 
+#if QT_VERSION < QT_VERSION_CHECK(6, 10, 0)
     QQuick3DLightmapBaker::Callback callback = 
[this](QQuick3DLightmapBaker::BakingStatus status,
             std::optional<QString> msg, QQuick3DLightmapBaker::BakingControl 
*) {
         m_callbackReceived = true;
@@ -119,6 +120,33 @@ void Qt5BakeLightsNodeInstanceServer::bakeLights()
             break;
         }
     };
+#else
+    QQuick3DLightmapBaker::Callback callback = [this](const QVariantMap &data,
+                                                      
QQuick3DLightmapBaker::BakingControl *) {
+        m_callbackReceived = true;
+        const QQuick3DLightmapBaker::BakingStatus status
+            = 
static_cast<QQuick3DLightmapBaker::BakingStatus>(data[QStringLiteral("status")].toInt());
+        QString msg = data.value("message").toString();
+        switch (status) {
+        case QQuick3DLightmapBaker::BakingStatus::Warning:
+        case QQuick3DLightmapBaker::BakingStatus::Error: {
+            nodeInstanceClient()->handlePuppetToCreatorCommand(
+                {PuppetToCreatorCommand::BakeLightsProgress, msg});
+            nodeInstanceClient()->flush();
+        } break;
+        case QQuick3DLightmapBaker::BakingStatus::Cancelled:
+            abort(tr("Baking cancelled."));
+            break;
+        case QQuick3DLightmapBaker::BakingStatus::Complete:
+            runDenoiser();
+            break;
+        default:
+            qWarning() << __FUNCTION__ << "Unexpected light baking status 
received:"
+                       << int(status) << msg;
+            break;
+        }
+    };
+#endif
 
     QQuick3DLightmapBaker *baker = m_view3D->lightmapBaker();
     baker->bake(callback);
-- 
2.51.0

Reply via email to