Package: qt6-base / 6.8.2+dfsg-8

Metadata

Package Version Patches format
qt6-base 6.8.2+dfsg-8 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
upstream_prevent_recursion_in_qsortfilterproxymodel.diff | (download)

src/corelib/itemmodels/qsortfilterproxymodel.cpp | 4 4 + 0 - 0 !
tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp | 34 34 + 0 - 0 !
2 files changed, 38 insertions(+)

 [patch] qsortfilterproxymodel: don't call index(row, 0) if there are no columns

This is invalid, e.g. it asserts in
QConcatenateTablesProxyModel::index()

Fixes: QTBUG-134210
upstream_IPC add PATH_MAX less fallback definition for MAX_PA.patch | (download)

src/corelib/ipc/qsharedmemory.cpp | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 [patch] ipc: add path_max-less fallback definition for max_path

Define MAX_PATH also when PATH_MAX is not defined (e.g on GNU/Hurd).
MAX_PATH is Windows constant, and it is used in this file only in a
code path for Windows; because of this, the static fallback define
should be good enough.

upstream_QStorageInfo Unix fix declaration of mnt on Hurd.patch | (download)

src/corelib/io/qstorageinfo_unix.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] qstorageinfo/unix: fix declaration of 'mnt' on hurd

Directly use the right type for it, after the Linux code was dropped.
Fixes commit 543ae6e6a43519b9fca6758c4a8c78625fcb2c86.

upstream_cve 2025 3512_fix_heap_buffer_overflow.diff | (download)

src/gui/text/qtextmarkdownimporter.cpp | 63 49 + 14 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/data/front-marker-malformed1.md | 3 3 + 0 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/data/front-marker-malformed2.md | 5 5 + 0 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/data/front-marker-malformed3.md | 4 4 + 0 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/data/oss-fuzz-42533775.md | 1 1 + 0 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/data/yaml-crlf.md | 10 10 + 0 - 0 !
tests/auto/gui/text/qtextmarkdownimporter/tst_qtextmarkdownimporter.cpp | 15 12 + 3 - 0 !
7 files changed, 84 insertions(+), 17 deletions(-)

 [patch] qtextmarkdownimporter: fix heap-buffer-overflow

After finding the end marker `
upstream_cve 2025 5455_fix_data_assertion_error.diff | (download)

src/corelib/io/qdataurl.cpp | 8 4 + 4 - 0 !
1 file changed, 4 insertions(+), 4 deletions(-)

 qdecodedataurl(): fix precondition violation in call to qbytearrayview::at()
 It is a precondition violation to call QByteArrayView::at() with
 size() as argument. The code used that, though, as an implicit
 end-of-string check, assuming == ' ' and == '=' would both fail for
 null bytes. Besides, QByteArrays (but most certainly QByteArrayViews)
 need not be null-terminated, so this could read even past size().
 .
 To fix, use higher-level API (startsWith()), consuming parsed tokens
 along the way.
upstream_unset_current_openglcontext.diff | (download)

src/gui/kernel/qopenglcontext.cpp | 10 5 + 5 - 0 !
tests/auto/gui/qopengl/tst_qopengl.cpp | 28 28 + 0 - 0 !
2 files changed, 33 insertions(+), 5 deletions(-)

 [patch] qopenglcontext: always unset current context in donecurrent()

Otherwise when no other context is made current until thread exit, the
QGuiGLThreadContext destructor will try to call doneCurrent() on an
already deleted context.

upstream_qlocale_shutdown.patch | (download)

src/corelib/text/qlocale.cpp | 9 6 + 3 - 0 !
1 file changed, 6 insertions(+), 3 deletions(-)

 [patch] qlocale: try to survive being created during application shut
 down

QLocale is very often accessed during global static destructors, so
let's try and survive if the default has already been destroyed. In that
case, we shall fall back to the C locale.

I've placed the call to systemData(), which updates the system locale,
before the initialization of defaultLocalePrivate, as the initialization
of the latter depends on the former.

Task-number: QTBUG-133206
upstream_qsystemlocale_post_destruction_access.patch | (download)

src/corelib/text/qlocale_unix.cpp | 2 2 + 0 - 0 !
src/corelib/text/qlocale_win.cpp | 2 2 + 0 - 0 !
2 files changed, 4 insertions(+)

 [patch] qsystemlocale: bail out if accessed post-destruction

There's little we can do, but a lot of content ends up in QLocale very
late in the execution. Let's at least not crash.

Task-number: QTBUG-133206
upstream_qlibraryinfo_speedup.patch | (download)

src/corelib/global/qlibraryinfo.cpp | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 [patch] qlibraryinfo: speed up checking if ":/qt/etc/qt.conf"
 resource exists

Go straight for QResource, because this is run very early in Qt's
initialization, usually as a result of some debug message, via
QLoggingRegistry::initializeRules(). This bypasses the need to create
QResourceFileEnginePrivate, QResourceFileEngine, QFileInfoPrivate, and
QFileInfo, all of which would end up in this .isValid() call.

Additionally, I'm making it query in the C locale, which will also avoid
initializing the system & default QLocales. If a resource exists in any
language, the C locale query will find it.

Task-number: QTBUG-133206
upstream_prevent_unregistering_input_device.diff | (download)

src/gui/kernel/qinputdevice.cpp | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch] gui: no need to unregister input device if list is destroyed

Fixes: QTBUG-133776
upstream_cups_for_multiple_page_ranges.diff | (download)

src/printsupport/dialogs/qprintdialog_unix.cpp | 6 2 + 4 - 0 !
1 file changed, 2 insertions(+), 4 deletions(-)

 [patch] rely on cups for multiple page ranges in unix version of qprintdialog

Since the introduction of QPageRanges with Qt6, multiple/arbitrary page
ranges are broken in the unix implementation of QPrintDialog due to a
possible double application of the page ranges: on the application side
and on the server side with CUPS. Reason for this is that the
QPrinter::PrintRange is set to PageRange instead of AllPages.
The latter is needed when relying on the CUPS server-side page range.
However, the server-side page range is always applied later on.

Restore the behavior of Qt5 and set the PrintRange to AllPages for
multiple/arbitrary page ranges and rely on the server-side filtering
with CUPS.

Add SH detection.patch | (download)

src/corelib/global/qprocessordetection.h | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 add sh description
 Upstream processes archs from time to time and tends to disable those that
 they do not know wether they are working or not. 
 .
 SH is working on Debian, so as an intermediate measure re enable it here.
remove_privacy_breaches.diff | (download)

doc/global/template/scripts/main.js | 5 0 + 5 - 0 !
1 file changed, 5 deletions(-)

 remove non-used privacy-breach code
 This code makes Lintian unhappy. But we are really not using it, it only
 gets inserted when building the online doc.
 Anyways the best way to calm down Lintian is to simply remove it.
build_path_embedded_qtbuildinternalsextra_cmake.patch | (download)

cmake/QtBuildInternalsExtra.cmake.in | 3 0 + 3 - 0 !
1 file changed, 3 deletions(-)

 [patch] cmake/qtbuildinternalsextra.cmake.in: patch out embedded
 build path.

The original build path should not be needed in the shipped package,
cross.patch | (download)

examples/sql/CMakeLists.txt | 2 1 + 1 - 0 !
src/tools/configure.cmake | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

---
remove_rpath_from_examples.patch | (download)

cmake/QtBuildRepoExamplesHelpers.cmake | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 remove rpath/runpath from examples' binaries.
 On Debian the examples are built against system's libraries, so there is no
 need to set RPATH/RUNPATH.
forkfd_grow_stack_upwards_on_hppa.patch | (download)

src/3rdparty/forkfd/forkfd_linux.c | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 change how stack grows on hppa.
 On HPPA stack grows upwards. This patch introduces this change for
 this 3rd party code.
enable_skip_plugins.patch | (download)

cmake/QtPlugins.cmake.in | 2 1 + 1 - 0 !
cmake/QtPostProcessHelpers.cmake | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 enable skipping plugins search at build time.
 This patch sets
 QT_SKIP_AUTO_PLUGIN_INCLUSION and QT_SKIP_AUTO_QML_PLUGIN_INCLUSION to ON
 by default, thus avoiding unnecesary build dependencies on plugins.
 .
 The variables can still be set to OFF by the user at build time, allowing
 them to find the packages if necessary. But if you need so for a Debian
 package please reach the Qt maintainers first. We want to know why you
 need to do so. Thanks in advance!
armv4.diff | (download)

src/corelib/global/qprocessordetection.h | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 support armv4 architecture, needed for armel builds