Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-3d for openSUSE:Factory checked in at 2026-11-01 22:21:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-3d (Old) and /work/SRC/openSUSE:Factory/.qt6-3d.new.1255 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-3d" Sun Nov 1 22:21:45 2026 rev:47 rq:1394080 version:6.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-3d/qt6-3d.changes 2026-10-18 19:21:15.844635030 +0200 +++ /work/SRC/openSUSE:Factory/.qt6-3d.new.1255/qt6-3d.changes 2026-11-01 22:22:03.884631441 +0100 @@ -1,0 +2,6 @@ +Sat Oct 31 11:33:50 UTC 2026 - Christophe Marin <[email protected]> + +- Add upstream change: + * CVE-2026-111487.patch (CVE-2026-111487, QTBUG-150977) + +------------------------------------------------------------------- New: ---- CVE-2026-111487.patch ----------(New B)---------- New:- Add upstream change: * CVE-2026-111487.patch (CVE-2026-111487, QTBUG-150977) ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-3d.spec ++++++ --- /var/tmp/diff_new_pack.FNxBjZ/_old 2026-11-01 22:22:06.266730153 +0100 +++ /var/tmp/diff_new_pack.FNxBjZ/_new 2026-11-01 22:22:06.268730236 +0100 @@ -34,6 +34,8 @@ URL: https://www.qt.io Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source99: qt6-3d-rpmlintrc +# PATCH-FIX-UPSTREAM +Patch0: CVE-2026-111487.patch BuildRequires: pkgconfig BuildRequires: cmake(Qt6Concurrent) = %{real_version} BuildRequires: cmake(Qt6Core) = %{real_version} @@ -58,6 +60,10 @@ BuildRequires: qt6-tools %{qt6_doc_packages} %endif +%if !%{qt6_docs_flavor} +# system imgui can't be used +Provides: bundled(imgui) = 1.91.0 +%endif %description Qt 3D provides functionality for near-realtime simulation @@ -520,6 +526,8 @@ %prep %autosetup -p1 -n %{tar_name}-%{real_version}%{tar_suffix} +rm -r src/3rdparty/assimp/{src,unzip} + # Empty file used for the meta packages touch meta_package ++++++ CVE-2026-111487.patch ++++++ >From 8fd0b496ca9bc2491296865864b31f32afc8db1a Mon Sep 17 00:00:00 2001 From: Mauro Persano <[email protected]> Date: Tue, 06 Oct 2026 15:42:50 -0300 Subject: [PATCH] assimp plugin: handle morph targets with mixed attributes We were computing the size of all morph target buffers based on the attributes of the first morph target. This breaks when we have morph targets with different attributes. Fixes: QTBUG-150977 Pick-to: 6.11 6.8 Change-Id: Ia35ef9597fbc965da42af8da438d811104cb52f5 Reviewed-by: Mike Krus <[email protected]> (cherry picked from commit 1eefe29327c5d7dd6020c5dd0735eb8e5e798f05) Reviewed-by: Qt Cherry-pick Bot <[email protected]> --- diff --git a/src/plugins/sceneparsers/assimp/assimpimporter.cpp b/src/plugins/sceneparsers/assimp/assimpimporter.cpp index e0df867..23072db 100644 --- a/src/plugins/sceneparsers/assimp/assimpimporter.cpp +++ b/src/plugins/sceneparsers/assimp/assimpimporter.cpp @@ -817,51 +817,19 @@ Qt3DAnimation::QMorphingAnimation *morphingAnimation = new Qt3DAnimation::QMorphingAnimation(geometryRenderer); - QList<QString> names; QList<Qt3DAnimation::QMorphTarget *> targets; - uint voff = 0; - uint noff = 0; - uint tanoff = 0; - uint texoff = 0; - uint coloff = 0; - uint offset = 0; - if (animesh->mVertices) { - names.push_back(VERTICES_ATTRIBUTE_NAME); - offset += 3; - } - if (animesh->mNormals) { - names.push_back(NORMAL_ATTRIBUTE_NAME); - noff = offset; - offset += 3; - } - if (animesh->mTangents) { - names.push_back(TANGENT_ATTRIBUTE_NAME); - tanoff = offset; - offset += 3; - } - if (animesh->mTextureCoords[0]) { - names.push_back(TEXTCOORD_ATTRIBUTE_NAME); - texoff = offset; - offset += 2; - } - if (animesh->mColors[0]) { - names.push_back(COLOR_ATTRIBUTE_NAME); - coloff = offset; - } - - ushort clumpSize = (animesh->mVertices ? 3 : 0) - + (animesh->mNormals ? 3 : 0) - + (animesh->mTangents ? 3 : 0) - + (animesh->mColors[0] ? 4 : 0) - + (animesh->mTextureCoords[0] ? 2 : 0); - for (uint i = 0; i < mesh->mNumAnimMeshes; i++) { aiAnimMesh *animesh = mesh->mAnimMeshes[i]; Qt3DAnimation::QMorphTarget *target = new Qt3DAnimation::QMorphTarget(geometryRenderer); targets.push_back(target); QList<QAttribute *> attributes; + ushort clumpSize = (animesh->mVertices ? 3 : 0) + + (animesh->mNormals ? 3 : 0) + + (animesh->mTangents ? 3 : 0) + + (animesh->mColors[0] ? 4 : 0) + + (animesh->mTextureCoords[0] ? 2 : 0); QByteArray targetBufferArray; targetBufferArray.resize(clumpSize * mesh->mNumVertices * sizeof(float)); float *dst = reinterpret_cast<float *>(targetBufferArray.data()); @@ -899,34 +867,39 @@ targetBuffer->setData(targetBufferArray); targetBuffer->setParent(meshGeometry); + uint offset = 0; if (animesh->mVertices) { attributes.push_back(createAttribute(targetBuffer, VERTICES_ATTRIBUTE_NAME, QAttribute::Float, 3, - animesh->mNumVertices, voff * sizeof(float), + animesh->mNumVertices, offset * sizeof(float), clumpSize * sizeof(float), meshGeometry)); + offset += 3; } if (animesh->mNormals) { attributes.push_back(createAttribute(targetBuffer, NORMAL_ATTRIBUTE_NAME, QAttribute::Float, 3, - animesh->mNumVertices, noff * sizeof(float), + animesh->mNumVertices, offset * sizeof(float), clumpSize * sizeof(float), meshGeometry)); + offset += 3; } if (animesh->mTangents) { attributes.push_back(createAttribute(targetBuffer, TANGENT_ATTRIBUTE_NAME, QAttribute::Float, 3, - animesh->mNumVertices, tanoff * sizeof(float), + animesh->mNumVertices, offset * sizeof(float), clumpSize * sizeof(float), meshGeometry)); + offset += 3; } if (animesh->mTextureCoords[0]) { attributes.push_back(createAttribute(targetBuffer, TEXTCOORD_ATTRIBUTE_NAME, QAttribute::Float, 2, - animesh->mNumVertices, texoff * sizeof(float), + animesh->mNumVertices, offset * sizeof(float), clumpSize * sizeof(float), meshGeometry)); + offset += 2; } if (animesh->mColors[0]) { attributes.push_back(createAttribute(targetBuffer, COLOR_ATTRIBUTE_NAME, QAttribute::Float, 4, - animesh->mNumVertices, coloff * sizeof(float), + animesh->mNumVertices, offset * sizeof(float), clumpSize * sizeof(float), meshGeometry)); } target->setAttributes(attributes);
