Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-base for openSUSE:Factory checked in at 2026-03-14 22:20:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-base (Old) and /work/SRC/openSUSE:Factory/.qt6-base.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-base" Sat Mar 14 22:20:26 2026 rev:79 rq:1338633 version:6.10.2 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-base/qt6-base.changes 2026-02-03 21:27:03.825457452 +0100 +++ /work/SRC/openSUSE:Factory/.qt6-base.new.8177/qt6-base.changes 2026-03-14 22:20:48.193175933 +0100 @@ -1,0 +2,18 @@ +Wed Mar 11 18:13:43 UTC 2026 - Jake Drahos <[email protected]> + +- Added patch to fix ignore broken unicode filenames without + skipping the rest of the directory (QTBUG-142913) + * 0001-Do-not-persist-unicode-error-state-across-dirents.patch + +------------------------------------------------------------------- +Wed Mar 11 12:27:54 UTC 2026 - Antonio Larrosa <[email protected]> + +- Just build with renderdoc on TW, since Leap 16.1 won't have it + neither. + +------------------------------------------------------------------- +Mon Feb 9 19:33:13 UTC 2026 - Christophe Marin <[email protected]> + +- Also build without renderdoc on Leap 16 + +------------------------------------------------------------------- New: ---- 0001-Do-not-persist-unicode-error-state-across-dirents.patch ----------(New B)---------- New: skipping the rest of the directory (QTBUG-142913) * 0001-Do-not-persist-unicode-error-state-across-dirents.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-base.spec ++++++ --- /var/tmp/diff_new_pack.GFieHK/_old 2026-03-14 22:20:49.173216502 +0100 +++ /var/tmp/diff_new_pack.GFieHK/_new 2026-03-14 22:20:49.177216668 +0100 @@ -44,6 +44,7 @@ # Patches 0-100 are upstream patches # Patch0: 0001-fix-slow-scrolling-on-wayland.patch Patch1: 0001-wayland-Fix-crash-in-QWaylandShmBackingStore-scroll.patch +Patch2: 0001-Do-not-persist-unicode-error-state-across-dirents.patch # Patches 100-200 are openSUSE and/or non-upstream(able) patches # # No need to pollute the library dir with object files, install them in the qt6 subfolder Patch100: 0001-CMake-Install-objects-files-into-ARCHDATADIR.patch @@ -76,8 +77,11 @@ BuildRequires: pkgconfig BuildRequires: qt6-macros %ifnarch ppc64le s390x +%if 0%{?suse_version} >= 1699 +# Not available in Leap 15 nor 16, and fails to build for ppc and s390x BuildRequires: renderdoc-devel %endif +%endif BuildRequires: xmlstarlet BuildRequires: cmake(double-conversion) %if %{with system_md4c} ++++++ 0001-Do-not-persist-unicode-error-state-across-dirents.patch ++++++ >From 1c212fbfdee21c9eda3d0c5822130d5833d18589 Mon Sep 17 00:00:00 2001 From: Jake Drahos <[email protected]> Date: Wed, 11 Mar 2026 17:45:56 -0500 Subject: [PATCH] Do not persist unicode error state across dirents When UTF16 conversion was changed, QStringDecoder toUtf16 was created as a class member. This would persist the unicode error state across iterations. As a result, once invalid unicode was encountered in d_name of one dirent, the remaining entries in the directory would be treated as if they had invalid unicode and omitted from the listing. Removed toUtf16 as a class member of QFilesystemIterator, instead creating a new one-shot QStringDecoder for each iteration. [ChangeLog][QtCore][QDirListing] Fixed a bug on Unix systems that caused a file name that failed to decode as UTF-8 to cause decoding errors in other file names. This also affected QDirIterator and QDir. Fixes: QTBUG-142913 Pick-to: 6.8 Change-Id: Ifc5d3aa4ade005f078c5d50ff726d22059ec29b2 Reviewed-by: Thiago Macieira <[email protected]> (cherry picked from commit 7e270fcfbd1af7779466d7ee5072bc3414549a76) Reviewed-by: Qt Cherry-pick Bot <[email protected]> (cherry picked from commit be168cf3466aa03311ecc0bb901e7e53c199bd84) --- src/corelib/io/qfilesystemiterator_p.h | 5 ----- src/corelib/io/qfilesystemiterator_unix.cpp | 6 ++++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/corelib/io/qfilesystemiterator_p.h b/src/corelib/io/qfilesystemiterator_p.h index a724fd6b0a1..66d8f7b578b 100644 --- a/src/corelib/io/qfilesystemiterator_p.h +++ b/src/corelib/io/qfilesystemiterator_p.h @@ -26,10 +26,6 @@ #include <QtCore/private/qfilesystementry_p.h> #include <QtCore/private/qfilesystemmetadata_p.h> -#if !defined(Q_OS_WIN) -#include <private/qstringconverter_p.h> -#endif - #include <memory> QT_BEGIN_NAMESPACE @@ -64,7 +60,6 @@ private: QT_DIRENT *dirEntry = nullptr; int lastError = 0; - QStringDecoder toUtf16; #endif Q_DISABLE_COPY_MOVE(QFileSystemIterator) diff --git a/src/corelib/io/qfilesystemiterator_unix.cpp b/src/corelib/io/qfilesystemiterator_unix.cpp index 712b942756d..4094a6f9f30 100644 --- a/src/corelib/io/qfilesystemiterator_unix.cpp +++ b/src/corelib/io/qfilesystemiterator_unix.cpp @@ -9,6 +9,8 @@ #include <qvarlengtharray.h> +#include <private/qstringconverter_p.h> + #include <memory> #include <stdlib.h> @@ -21,8 +23,7 @@ QT_BEGIN_NAMESPACE libraries to iterate over the directory represented by \a entry. */ QFileSystemIterator::QFileSystemIterator(const QFileSystemEntry &entry) - : dirPath(entry.filePath()), - toUtf16(QStringDecoder::Utf8) + : dirPath(entry.filePath()) { dir.reset(QT_OPENDIR(entry.nativeFilePath().constData())); if (!dir) { @@ -75,6 +76,7 @@ bool QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaDa QByteArrayView name(dirEntry->d_name, strlen(dirEntry->d_name)); // name.size() is sufficient here, see QUtf8::convertToUnicode() for details QVarLengthArray<char16_t> buffer(name.size()); + QStringDecoder toUtf16(QStringDecoder::Utf8); auto *end = toUtf16.appendToBuffer(buffer.data(), name); buffer.resize(end - buffer.constData()); if (!toUtf16.hasError()) { -- 2.53.0
