[qt/qt/qtbase]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/qt/qtbase
Pushed by mirror-service into branch '6.11'.
Changed from 96f5a8c9d1d55f187af9edfc2db3e7757610b740 to 8da768630ff7071e92c6136b55fb9202e1acfbfe
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit d5917b88827f948198ff90c5d48b449a28151ffe by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 21:09..
doc snippets: fix gui build with -no-feature-shortcut

src_gui_kernel_qshortcut.cpp and src_gui_kernel_qshortcutmap.cpp were
unconditional sources, and src_gui_kernel_qkeysequence.cpp was only
gated on QT_FEATURE_widgets. All three use QShortcut/QKeySequence
directly and fail to compile without the shortcut feature.

Amends 4b022c0fe08d31e39a074d12833a29cf02c67040.

ef56b88fc856056bcd5975336f00a3b97dc31e72 fixed some other features,
but not this one.

Change-Id: I2eab6bdeb8ec46f6b7557a10f2ca148fc75320a9
Reviewed-by: Volker Hilsheimer <[email protected]>
(cherry picked from commit 2c87ffabf419a201e150766cf58ae9eaf55210f1)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit a2b71c27fb82f46e7ac8ae3934623b974c7ac19d)
https://invent.kde.org/qt/qt/qtbase/-/commit/d5917b88827f948198ff90c5d48b449a28151ffe

Git commit 56a6b1e909a677abc2ee825cdbd5a4ca25695956 by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 21:09..
Unblacklist tst_QPrinter::testPrintPreviewDialog for Wayland

Tst_QPrinter::testPrintPreviewDialog is no longer flaking/failing for
Wayland.

Unblacklist it.

Pick-to: 6.8
Change-Id: Ibc8367d9e0fa90830b960f88137af21f166e43b3
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit 4b717cd5ac8673d3d721bbab9326c233fd6bc481)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 7f6b1dffa7338a6b331e7e10af4d6ef09aa08357)
https://invent.kde.org/qt/qt/qtbase/-/commit/56a6b1e909a677abc2ee825cdbd5a4ca25695956

Git commit 60c2adfb01f3eab80bca8772463f5f64ce5872ed by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 21:09..
Unblacklist tst_QBackingStore::flush on Wayland

Tst_QBackingStore::flush is not longer failing/flaking on Wayland.

Unblacklist it.

Pick-to: 6.8
Change-Id: I2190be4177d2ada2721d4f355ae5d01fe33f7385
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit 134d7536682cebd248c7ed186ea86eb168cd7450)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 1f3b17deb5c8c0a475d1464a9c9cd8e9a04b182c)
https://invent.kde.org/qt/qt/qtbase/-/commit/60c2adfb01f3eab80bca8772463f5f64ce5872ed

Git commit b2a3e951d2eedae5eec1a21cd7b5dfc5cf46661b by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 21:09..
doc snippets: fix gui_snippets build with -no-feature-shortcut

textdocument-blocks, textdocument-frames, textdocument-listitems,
textdocument-listitemstyles, textdocument-selections,
textdocument-tables, and textdocument-printing all call
QAction::setShortcut() and/or use QKeySequence directly, both of
which require the shortcut feature. Guard them accordingly.

Also drop the accidental duplicate listing of
textdocument-tables/mainwindow.cpp.

Amends 1042c917c36c95cf2650e26ed4234ccb752fb54f.

Change-Id: I9eb3b0868c36d354f898ac237ec600486e27fff9
Reviewed-by: Volker Hilsheimer <[email protected]>
(cherry picked from commit b56a07ebc2b0bcd5d3864661aaa8c6d879f1027d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 34412f3751d13b4bcd2ac12ca7b8dc9748b6db48)
https://invent.kde.org/qt/qt/qtbase/-/commit/b2a3e951d2eedae5eec1a21cd7b5dfc5cf46661b

Git commit 4b84f4eee8548f3099fc70ce1fdd7fa111d05e59 by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 21:09..
doc snippets: fix widgets_snippets build with -no-feature-shortcut

dockwidgets, qlistview-dnd/mainwindow, qlistwidget-dnd,
qtablewidget-resizing, qtablewidget-using, qtreewidget-using,
qtreewidgetitemiterator-using, and whatsthis all call
QAction::setShortcut(), which requires the shortcut feature.

Amends 67086b4149da86427666967d11f3c0f33330b5b3.

Change-Id: I6fefbc70030517c61132d3323a14e83810f956f9
Reviewed-by: Volker Hilsheimer <[email protected]>
(cherry picked from commit 2f303bc50fbc89eeca69d39a49b5e6baa84d4620)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit e98a087cddba95065de5bee4dc08b9e343e1b4c8)
https://invent.kde.org/qt/qt/qtbase/-/commit/4b84f4eee8548f3099fc70ce1fdd7fa111d05e59

Git commit cb6f3458e31bf30e89523ed59eeb142572cea48b by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 21:09..
Unblacklist tst_QTreeWidget::setChildIndicatorPolicy on Linux

tst_QTreeWidget::setChildIndicatorPolicy is no longer flaky/failing on
Linux.

Unblacklist it.

Pick-to: 6.8
Change-Id: I01c73de58782c8fb3954e2df325e3070c7e2699d
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit 71295e40baa4bc937788db6b233698e69aae8b0f)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit f959af4de70fc9dfca438abef2a0bdd19380463a)
https://invent.kde.org/qt/qt/qtbase/-/commit/cb6f3458e31bf30e89523ed59eeb142572cea48b

Git commit 0af7fe519610ef25d5a842886f50b5e9b8d89d1f by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 21:09..
Unblacklist tst_QListView::styleOptionViewItem on Wayland

tst_QListview::styleOptionViewItem is no longer failing/flaking on
Wayland.

Unblacklist it.

Pick-to: 6.8
Change-Id: I79b1345fd98542662edba7ccaa98cff68b613810
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit f4810abab4da45e7b96243026a3d398892b7c27d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 03ffdae20983a5f6004df8048d654ac1fbc5eb1f)
https://invent.kde.org/qt/qt/qtbase/-/commit/0af7fe519610ef25d5a842886f50b5e9b8d89d1f

Git commit cb86b0ab89bdbab7311aeefd40de94a2c021b064 by Qt Cherry-pick Bot (on behalf of Marc Mutz) on 13/08/2026 at 21:09..
QDirEntryInfo: reimplement std::visit() to fix Coverity UNCAUGHT_EXCEPTION FPs

Coverity keeps complaining about visit()s in this class potentially
throwing std::bad_variant_access, even after we closed the one real
source of valueless_by_exception() (never realized in practice) by
giving QFileInfo a nothrow move constructor
(cf. eb4b67478a1a36c476ad20a90e7d5a3fd080516c), added explicit
assertions for !valueless_by_exception()
(cf. 8bd5d7ee8f73dc70871f39e15ccaa785a077dcfc), and ditto Q_PRESUME()
(cf. bdb525db1aa1e439ab4ed8b4ee6f15b13c80bf26).

Nothing helped. Since this is causing dozens of reports, and not just
in QtCore, but in every main() that uses QDir* components, I think
it's warranted to reimplement std::visit() using only non-throwing
operations (index(), get_if()). get_if(), in particular, is known to
shut up Coverity's UNCAUGHT_EXCEPTION, so this _ought_ to finally
work.

The implementation is white-room, without looking at any stdlib
implementation (ever, I believe). The idea is to switch over index()
and get_if() in each branch. The fact that this is not a
QDirEntryInfo-specific implementation, but a nearly 100% drop-in
replacement for std::visit() means we can easily move this into
QtPrivate somewhere more central, and reuse when we get more
curveballs thrown at us by Coverity.

Amends 336ff06b648e2e7419f9234e4d1018a63ac9fb5b (picked to 6.11).

Coverity-Id: 912361
Coverity-Id: 911594
Coverity-Id: 909813
Coverity-Id: 909676
Coverity-Id: 909674
Coverity-Id: 909672
Coverity-Id: 909666
Coverity-Id: 909663
Coverity-Id: 909661
Coverity-Id: 909660
Coverity-Id: 909656
Coverity-Id: 909650
Coverity-Id: 909648
Coverity-Id: 909645
Coverity-Id: 909640
Coverity-Id: 909639
Coverity-Id: 909637
Coverity-Id: 909636
Coverity-Id: 909633
Coverity-Id: 909632
Coverity-Id: 909629
Coverity-Id: 909628
Coverity-Id: 909627
Coverity-Id: 909626
Coverity-Id: 909624
Coverity-Id: 909622
Coverity-Id: 909621
Coverity-Id: 909618
Coverity-Id: 909616
Coverity-Id: 909615
Coverity-Id: 909614
Coverity-Id: 909613
Coverity-Id: 909612
Coverity-Id: 909611
Coverity-Id: 909598
Coverity-Id: 909597
Coverity-Id: 909596
Coverity-Id: 909593
Coverity-Id: 909591
Coverity-Id: 909590
Coverity-Id: 909589
Coverity-Id: 909588
Coverity-Id: 909585
Coverity-Id: 909582
Coverity-Id: 909580
Coverity-Id: 909579
Coverity-Id: 909576
Coverity-Id: 909572
Coverity-Id: 909568
Coverity-Id: 909566
Coverity-Id: 909561
Coverity-Id: 909559
Coverity-Id: 909557
Coverity-Id: 909555
Coverity-Id: 909553
Coverity-Id: 909550
Coverity-Id: 909546
Coverity-Id: 909544
Coverity-Id: 909542
Coverity-Id: 909539
Coverity-Id: 909534
Coverity-Id: 909533
Coverity-Id: 909532
Coverity-Id: 909526
Coverity-Id: 909522
Coverity-Id: 909517
Coverity-Id: 909516
Coverity-Id: 909515
Coverity-Id: 909514
Coverity-Id: 909513
Coverity-Id: 909510
Coverity-Id: 906992
Coverity-Id: 895839
Coverity-Id: 895838
Coverity-Id: 895835
Change-Id: I2768730982050cb6323aa125d80d0a5ec767fff5
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit c75fb649f7ef73609c0ed7ba77ac466d0b8c1576)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit e133571cb926927da4e6efd0871355bfed15cb07)
https://invent.kde.org/qt/qt/qtbase/-/commit/cb86b0ab89bdbab7311aeefd40de94a2c021b064

Git commit 0c006540c72eb939e959a21d51d08c457c497ced by Qt Cherry-pick Bot (on behalf of Marc Mutz) on 13/08/2026 at 21:09..
QSysInfo: remove getEtcFileFirstLine()

Via the call to getEtcFileContent(), it slurped the whole file in,
anyway, only to filter out the first line afterwards.

The only users call it on /etc/<distro>_version files, which are
single-line, so getting just the first line is equivalent to getting
the full file, anyway.

Finally, trimmed() removes the newline, too.

In essence, then, getEtcFileFirstLine() was just getEtcFileContent()
plus an unnecessary indexOf('\n').

Remove the middle-man.

Amends 6c20a01cb9032a6abc0b82549a4242e2441894f7 (5.5).

Pick-to: 6.8
Change-Id: I6e2dae32fbfb13c7e1c5902226b9b4abc5aa0925
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 19cc91d217f0ec0019db91696d58f533b710f670)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit db57b83afe0077480340a69918feaab8760d8564)
https://invent.kde.org/qt/qt/qtbase/-/commit/0c006540c72eb939e959a21d51d08c457c497ced

Git commit db6fa8c177d162fb547d2a18f144cf11ef48f437 by Qt Cherry-pick Bot (on behalf of Edward Welbourne) on 14/08/2026 at 01:07..
tst_QDateTime::addSecs() and friends: rename two columns

One is a count of seconds, where the name "nsecs" might all too easily
be misunderstood as meaning nanoseconds. It's also a qint64, so remove
the casts of it to qint64 that date back to when it was an int.

Rename the "result" column to "expect" to better align with Qt Test
terminology.

Pick-to: 6.8 6.5
Change-Id: I1d83847cfeee637b622f2271f04505f6e58a6f4d
Reviewed-by: Mate Barany <[email protected]>
(cherry picked from commit 19f928e7f312a2ca3f6b63adc6904fe28a77c2e1)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 01f7f4b863715c3b61978e8add5d391d8c9333c3)
https://invent.kde.org/qt/qt/qtbase/-/commit/db6fa8c177d162fb547d2a18f144cf11ef48f437

Git commit 91d7ff41af58e9de00f66629fc3fd50b91431117 by Qt Cherry-pick Bot (on behalf of Imre Péntek) on 14/08/2026 at 01:07..
Fix crash when fontconfig fallback pattern has no charset

QFontEngineMultiFontConfig::shouldLoadFontEngineForCharacter() passed
the address of an uninitialized FcCharSet* to FcPatternGetCharSet()
and then called FcCharSetHasChar() on it without checking the result.
A pattern returned by FcFontMatch() is not guaranteed to carry an
FC_CHARSET element: fontconfig treats the charset as optional, and
caches produced by other fontconfig builds (e.g. a bundled snapshot
that indexed .woff/.woff2 files it could not parse as empty patterns)
can legally serve charset-less patterns. In that case the uninitialized
pointer is dereferenced inside FcCharSetHasChar() and the process
crashes with SIGSEGV; builds hardened with
-ftrivial-auto-var-init=pattern crash deterministically at 0xfefe...

Observed in the wild on Arch/Manjaro after the fontconfig 2.18.1
upgrade: every Qt application (Qt Creator, CopyQ, KeePassXC, ...)
crashed in FcCharSetHasChar via QFontEngineMulti::glyphIndex() as soon
as any glyph fallback lookup ran, because stale fontconfig caches
served a charset-less pattern for every FcFontMatch() call.

Initialize the pointer and check the FcPatternGetCharSet() result.
When no charset can be obtained, keep the optimistic default (load the
engine) exactly as we already do when no match pattern is available,
so glyph coverage is decided by the font engine itself.

Pick-to: 6.8
Change-Id: I18687e0a7b7a0019a459155395636768ad9ea964
Reviewed-by: Joerg Bornemann <[email protected]>
(cherry picked from commit 80ddc8dee6a05cd619085e29fc21ff92c4b877a8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 4ab2132814c0ab1c02ac8227759ab090af124172)
https://invent.kde.org/qt/qt/qtbase/-/commit/91d7ff41af58e9de00f66629fc3fd50b91431117

Git commit 1146101cce943c937e1f796fc2823b9cc796e51e by Qt Cherry-pick Bot (on behalf of Edward Welbourne) on 14/08/2026 at 01:07..
tst_QDateTime arithmetic tests: offsets should match in all time specs

The result of arithmetic may have a different time spec than the
initial value, but the test-data row should have the right timespec on
the expected result when valid. So drop the conditioning on timespec
in the check on offset.

Pick-to: 6.8 6.5
Change-Id: I0ab23e9e45b851c5259e5195b6f3eec09187791e
Reviewed-by: Mate Barany <[email protected]>
(cherry picked from commit b951e8c5a934bfda0902c4ca7acbd610315f21b6)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 0ae802473a880f0e8203a8bed2ee956f151cf230)
https://invent.kde.org/qt/qt/qtbase/-/commit/1146101cce943c937e1f796fc2823b9cc796e51e

Git commit c948b208a069e6b18c36367b4cc4bb705f02f624 by Qt Cherry-pick Bot (on behalf of Christian Ehrlicher) on 14/08/2026 at 01:07..
Tests/QWidget: remove unneeded QTest:qWait() calls

Use QTRY_foo for the check after the wait instead.

Change-Id: I13c90489bd0071c03ec97e1ace8063f4246d8ec0
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 04369f0b32f6472b903265fb1084d1cdb1feb49e)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 6cbcd53fe4fdda90be1194557a7bb46b82036c44)
https://invent.kde.org/qt/qt/qtbase/-/commit/c948b208a069e6b18c36367b4cc4bb705f02f624

Git commit f4a409788a96f7a15d45c075688c81957b05715f by Qt Cherry-pick Bot (on behalf of Christian Ehrlicher) on 14/08/2026 at 01:07..
Tests/QLineEdit: remove unused code

NO_PIXMAP_TESTS was always defined since the last 20 years. Un-define it
results in compiler errors which are not easily fixable so remove the
bit-rot completely.

Change-Id: I3e7c3eb629fd0dc76874fe1821f1f9c2f93b0f07
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit afbe0cfda62f968e08f1a087cae2c965705d2ae9)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 10b6f5668e3baaa1fe2c0bbf292fe2f31b4e6c4a)
https://invent.kde.org/qt/qt/qtbase/-/commit/f4a409788a96f7a15d45c075688c81957b05715f

Git commit 0d4398b69bed21e7655c612a95e64ca8f2be2a8b by Axel Spoerl on 14/08/2026 at 01:07..
Fix flakiness in tst_QWindow::testInputEvents()

The test function processed one event before testing with QCOMPARE.
When another system event gets in the way, the pending input event
doesn't get delivered and the test starts to flake.

Remove QCoreApplication::processEvent() calls and substitute
QCOMPARE with QTRY_COMPARE, which processes events until the predicate
yields true.

Fixes: QTBUG-136999
Pick-to: 6.8 6.5
Change-Id: I8c6cc29da565aef9f15261d4f5f66961ec89d82e
Reviewed-by: Tor Arne Vestbø <[email protected]>
(cherry picked from commit b687b72dbffc3cc60db6ffe3d55ec7b08b30efe2)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 2228be5e8d325514a0541bd34932a205cc391be1)
Reviewed-by: Christian Ehrlicher <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0d4398b69bed21e7655c612a95e64ca8f2be2a8b

Git commit 29dfe9246050c7231da6782c831bce00ac4976b3 by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 14/08/2026 at 01:07..
CMake: Add CycloneDX needle assertions to the SBOM tests

The SBOM tests could only assert that a string is present or absent
in the generated SPDX tag value document. There was no equivalent for
the CycloneDX document.

Add add_assert_str_exists_in_cydx_v1_6_doc and its _not_ counterpart,
so that tests can check the contents of both documents.

Pick-to: 6.8
Change-Id: Iaf7f33e71a40cb47657e5228a6016e4a2a1463e7
Reviewed-by: Joerg Bornemann <[email protected]>
(cherry picked from commit 13c82154a960023fd65ed3effae93eba90b98d67)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 341235cbf2889480257cd155a4dc63818d2a9e94)
https://invent.kde.org/qt/qt/qtbase/-/commit/29dfe9246050c7231da6782c831bce00ac4976b3

Git commit 9a03b76d8c8344de72be1a3c837c80063bf18974 by Qt Cherry-pick Bot (on behalf of Marc Mutz) on 14/08/2026 at 01:07..
QMultiMap: fix take() copy-instead-of-move regression

Amends 1607b6b512961ef53c9d1aacbf7b086497f6fb49 (picked to 6.8), which
lost the std::move() on mapped().

Unfortunately, mapped() isn't overloaded on value-category, it always
returns an lvref, which neither RVOs nor binds to a move constructor.
So, despite return std::move(~~~) looking fishy, it's needed here.

Re-add it.

Pick-to: 6.8
Task-number: QTBUG-146948
Task-number: QTBUG-145948
Change-Id: I9360c75602370ff1a9702e1f5af4b12862503caf
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Tim Blechmann <[email protected]>
(cherry picked from commit 5e4712c152c4681d9acccce51dd68ce40f885ffe)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit eab302b61a4f42ab731f19b513ce3c2bdf178168)
https://invent.kde.org/qt/qt/qtbase/-/commit/9a03b76d8c8344de72be1a3c837c80063bf18974

Git commit 8da768630ff7071e92c6136b55fb9202e1acfbfe by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 14/08/2026 at 01:07..
CMake: Fix stale attribution variable handling for nested sbom entries

A nested qt_attribution SBOM entry version can sometimes accidentally
inherit the PURL and CPE of a parent entry (module the version),
because the parent's variables in the calling scope are not unset.

This change unsets the attribution variables before each nested
_qt_internal_sbom_add_target call, so that only the attribution values
of the current entry are taken into account.

Added a test to verify this.

Pick-to: 6.8
Fixes: QTBUG-148710
Change-Id: Icb5e17941c598d0d066e28220066d3b4e61c5181
Reviewed-by: Joerg Bornemann <[email protected]>
(cherry picked from commit f395078d2b560b7a25dc8a98d90cb6d643efedaa)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit cba13f2c753361a08891cdebe5fe785018321006)
https://invent.kde.org/qt/qt/qtbase/-/commit/8da768630ff7071e92c6136b55fb9202e1acfbfe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.