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

Reply via email to