[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 'dev'.
Changed from c09b42ead69a58edb15fd7c63004eada75b0ed9f to 344ef558d01e194feb55a15583513aa840f7c930
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 024c684ff0bff67328b0c091847f8e5c447254a6 by Marc Mutz on 13/08/2026 at 18:57..
QSslKeyingMaterial: don't mark the QByteArray getters noexcept

While the noexcept here, in this day and age, is not a lie, we
shouldn't tie ourselves to a particular design of implicitly-shared
types, and raise wrong expectations in our users, by marking such
functions noexcept, so remove them from these inline functions on
which they have no effect at all, anyway.

Found in API-review.

Task-number: QTBUG-144744
Pick-to: 6.12
Change-Id: Ibeb07ebd216643cf16c40ccc27fa27da85af5196
Reviewed-by: Volker Hilsheimer <[email protected]>
Reviewed-by: Mårten Nordheim <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/024c684ff0bff67328b0c091847f8e5c447254a6

Git commit 9ba7582231d3abe67a63ee5d7e968909b63f8001 by Marc Mutz on 13/08/2026 at 18:57..
androidtestrunner: don't funnel chrono::milliseconds through legacy int API

QThread::sleep() is overloaded for chrono types since Qt 6.6. Use that
overload and pass the interval milliseconds object directly instead of
decomposing it into an int by calling count().

There's still the potential for overflow through the ms -> ns implicit
conversion, so push that narrowing up to callers by using nanoseconds
instead of milliseconds.

Amends d961c33f881c18ead3118a1510080235a0b5c948 (picked to 6.12).

Pick-to: 6.12
Change-Id: Ibfb72b8d409294add7796b35b434afcd730f08de
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9ba7582231d3abe67a63ee5d7e968909b63f8001

Git commit 0fe3659d589df99fd4a066ef45471d9529645dc4 by Marc Mutz on 13/08/2026 at 18:57..
androidtestrunner: de-templatize pollUntil() using function_ref

This is better type-checked than the unconstrained template argument
of the old code, and shows more clearly what the argument is supposed
to carry.

Amends d961c33f881c18ead3118a1510080235a0b5c948 (picked to 6.12).

Pick-to: 6.12
Change-Id: Ia597c40ff327147a300d5a3388a577fb0d7ffa92
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0fe3659d589df99fd4a066ef45471d9529645dc4

Git commit 37e2de9c463cd8faa430dde06150e3a3ed2bc482 by Marc Mutz on 13/08/2026 at 18:57..
androidtestrunner: fix Coverity AUTO_CAUSES_COPY in execCommand()

Coverity complained that the use of auto causes a copy of args.first()
and suggests to use const auto& instead.

What Coverity is likely tripping over is that first() returns T&, so,
in isolation, the suggestion would be right. It's the following
removeOne() that makes it fatal, so don't follow it.

Instead, fix by using takeFirst(). That performs both operations in
one call, and more efficiently so (since it _does_ move out of the
container).

Amends 10a706df277893d24bd083a5c96446de40e9a27c (6.7).

Pick-to: 6.12 6.11 6.8
Coverity-Id: 912345
Change-Id: I54630360703dde103c5607ea888b5f056e39802e
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/37e2de9c463cd8faa430dde06150e3a3ed2bc482

Git commit 664625839b8f15cb465ae8e9642bc39290e07c7c by Marc Mutz on 13/08/2026 at 18:57..
QSslKeyingMaterial: make the class extendable

Almost everything in the class was inline, so the type was not
extensible.

This author doesn't claim to know whether this class _needs_ to be
extensible, but RFCs change over time, so better be safe than sorry.

Add a void *m_reserved that can later take a d-pointer, and drag all
functions that conceptually need to access the complete state of the
object behind the ABI boundary:

- ctors, dtor, copy SMFs
- isValid()
- comparesEqual()
- qHash/op<< (already were)

As usual, the move SMFs and swap() can (and should) remain inline.

The default ctor loses its (implicit) noexcept by de-inlining, which
is as intended, as it might need to allocate once we take m_reserved
into use. Ditto copy SMFs.

Most functions can ignore the reserved member for now, with the
notable exception that all ctors need to init it to nullptr (ensured
by using NSDMI) and that swap and the inline move SMFs handle it like
a d-pointer (swap() and exchange(), resp.).

Not adding docs for the newly-declared SMFs, since technically
speaking they're not new. Also, IIRC, qdoc already default-documents
SMFs, so anything we could write here would just run the risk of
being inconsistent with the rest of Qt.

Found in API-review.

Fixes: QTBUG-144744
Pick-to: 6.12
Change-Id: Ica18180f6539c63d79db6e6eb6a93f22d391088d
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/664625839b8f15cb465ae8e9642bc39290e07c7c

Git commit 5e4712c152c4681d9acccce51dd68ce40f885ffe by Marc Mutz on 13/08/2026 at 18:57..
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.12 6.11 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]>
https://invent.kde.org/qt/qt/qtbase/-/commit/5e4712c152c4681d9acccce51dd68ce40f885ffe

Git commit 13c82154a960023fd65ed3effae93eba90b98d67 by Alexandru Croitor on 13/08/2026 at 19:59..
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 6.11 6.12
Change-Id: Iaf7f33e71a40cb47657e5228a6016e4a2a1463e7
Reviewed-by: Joerg Bornemann <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/13c82154a960023fd65ed3effae93eba90b98d67

Git commit f395078d2b560b7a25dc8a98d90cb6d643efedaa by Alexandru Croitor on 13/08/2026 at 19:59..
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 6.11 6.12
Fixes: QTBUG-148710
Change-Id: Icb5e17941c598d0d066e28220066d3b4e61c5181
Reviewed-by: Joerg Bornemann <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f395078d2b560b7a25dc8a98d90cb6d643efedaa

Git commit 12b0748a407149db70f1c861355c6ada6264c02b by Shane Liu on 13/08/2026 at 21:29..
ohos: don't report ApplicationHidden before any window is exposed

The application state tracker refines the reported state to
ApplicationHidden whenever no view is visible. A view is only tracked
once it has been through an expose event, so an application that has no
windows at all is indistinguishable from one whose windows are all
hidden.

Qt treats every state other than ApplicationActive as a deactivation:
QQuickWindow::handleApplicationStateChanged() calls
handleWindowDeactivate(), which clears the exclusive grab of every
point. The state is recomputed whenever the window system queue drains,
so an application that runs before showing anything - notably a test
binary - loses its input grabs on the very first event it delivers, and
the release events that follow are dropped because the item is no longer
the grabber.

Only refine the state to ApplicationHidden once at least one view has
been tracked, so an application without windows keeps the state reported
by the ability lifecycle.

tst_qquickitem::ignoreButtonPressNotInAcceptedMouseButtons() fails on
HarmonyOS without this change.

Task-number: QTBUG-148817
Pick-to: 6.12
Change-Id: I7595c0f0e88ce9d621e1423316ee140d876cec01
Reviewed-by: Joerg Bornemann <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/12b0748a407149db70f1c861355c6ada6264c02b

Git commit 344ef558d01e194feb55a15583513aa840f7c930 by Jukka Jokiniva on 13/08/2026 at 21:29..
Increase CiNetworkTest application execution timeout in CI

DNS resolution can take more time than the default value for the
timeout which is 10 seconds.

Pick-to: 6.12
Change-Id: I4b1dcde6ec8f4a62f67082318a27356551edce8d
Reviewed-by: Toni Saario <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/344ef558d01e194feb55a15583513aa840f7c930
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.