[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 49f634414a669d719d2dbb32c039734f6c8e3da5 to ba2681253654e846c2a2c736380b1d4e75fca483
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 3602e36f65ad5d44049483832662ef09e26f8632 by Marc Mutz on 17/08/2026 at 13:18..
Qt::totally_ordered_wapper: make swaps constexpr

Since qt_hash_ptr() is constexpr, and std::swap(), too, at least since
C++20, the totally_ordered_wrapper hidden friends might break
__cpp_lib_constexpr_algorithms, so mark our two swap functions
constexpr.

Add a test.

In case you're wondering "what about qHash()?": can't be, since the T*
overload isn't constexpr, so a larger, orthogonal, change.

Amends 5831c3123594f0d901b381110a41c75dcb9935e2 (6.8).

Picking back all the way, since this is defect users cannot work
around, yet it doesn't affect anyone not using constexpr algorithms.

Pick-to: 6.12 6.11 6.8
Change-Id: Ia0fe6fe24652807cbeb817cf9c9cacf534d0da97
Reviewed-by: Thiago Macieira <[email protected]>
Reviewed-by: Ivan Solovev <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/3602e36f65ad5d44049483832662ef09e26f8632

Git commit f2d1effd3838dcd72329d5c8cdfc7faa8f18c1c7 by Edward Welbourne on 17/08/2026 at 14:10..
Update date and time parsing and serialization documentation

The new temporal data parser has brought the parsing formats in line
with the seralization formats, particularly in the handling of single
quotes in format strings. It has also replaced the simple greedy
algorithm for juxtaposed numeric fields with one better able to cope
with such cases. The existing documentation of both serializing and
parsing was under-using \overload, repeating itself in several places
and some qlocale.cpp methods lacked cross-references to relevant
qdatetime.cpp docs.

[ChangeLog][QtCore][Significant Behavior Change] Core functions to
parse dates, times and datetimes now handle single quotes in their
format strings the same way as serialization does. In particular, a
backslash no longer escapes a single quote between single quotes (this
was never the documented behavior, but used to work); instead, use a
pair of adjacent single quotes, which is always read as a simple
single quote rather than the start or end of a verbatim text.

[ChangeLog][QtCore][Significant Behavior Change] The handling of
juxtaposed numeric fields is now able to disambiguate many cases that
were previously rejected as invalid due to a simplistic greedy
approach.

Pick-to: 6.12
Fixes: QTBUG-149013
Change-Id: I171c42605350b254ff5207ed669c86195db8455c
Reviewed-by: David Boddie <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f2d1effd3838dcd72329d5c8cdfc7faa8f18c1c7

Git commit c8c6ba041cb5a6ff4904d26102c16af51ebe3dde by Edward Welbourne (on behalf of Tuomas Vaarala) on 17/08/2026 at 14:10..
tst_QDateTime: base springForward's QNX expectation on the zone data

The QNX arm of springForward()'s maybeExpectFail() assumed pre-2022g
zone info for every QNX. The new tzdata will be overlayed as
newer IANA release, so the two "SGT ... +00:30" rows XPASS there and
fail the test. Check the data instead of the OS: expect failure only
while Asia/Singapore's offset at the transition instant is +07:30.

Task-number: QTBUG-145768
Pick-to: 6.12 6.11 6.8
Change-Id: I3103b98c770635c04c7157fb03759ea496e71aea
Reviewed-by: Edward Welbourne <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c8c6ba041cb5a6ff4904d26102c16af51ebe3dde

Git commit 0704c91e21c2f6c280f4df203a8603235a0d12a5 by Robert Löhning on 17/08/2026 at 14:10..
QGuiSvg: Move tests for toDouble() over from qtsvg

I copied the test from qtsvg's tst_qsvghandler.cpp as of
1ba217a64de33ebcae67dc8b0e6db48624157217

I changed to static_assert()s to Q_ASSERT()s because NAN seems to
not be constexpr on VxWorks.

Pick-to: 6.12
Task-number: QTBUG-149125
Change-Id: Id843bb2b3be55e2925b0b9bcdb554b274e950610
Reviewed-by: Kaj Grönholm <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0704c91e21c2f6c280f4df203a8603235a0d12a5

Git commit 9456d37ed75a5aea8f7bc438336fb9691d7ff5af by Tor Arne Vestbø on 17/08/2026 at 15:04..
CMake: Remove dead _qt_internal_should_skip_post_build_deployment_api

The helper was added for qtdeclarative's POST_BUILD deployment, and was
never called from qtbase itself. Its last caller went away when we
retired the build-tree QML deployment step in qtdeclarative's
8cae7ea4ac7ecbc0063d37a713332e252739e745.

Task-number: QTBUG-101338
Pick-to: 6.12
Change-Id: Ia69b5dc928dcc06aa5e98760743e4ec7d7fe2f0e
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9456d37ed75a5aea8f7bc438336fb9691d7ff5af

Git commit f332defeace28aec00da3b070a7b24df7031d9e0 by Andy Nichols on 17/08/2026 at 15:04..
rhi: Report the per-stage storage buffer limits

Storage buffers outside the compute stage are optional in OpenGL ES
even on 3.1+, mobile drivers commonly report 0 for the vertex stage
while supporting it through Vulkan, and the Direct 3D 11 backend has
no vertex-stage storage buffers at all. Clients reading storage
buffers in these stages had no way to detect that short of pipeline
creation failing at program link time.

Add QRhi::MaxVertexStorageBuffers and MaxFragmentStorageBuffers,
scoped to read access; the per-backend write caveats are documented
with the enum values.

Change-Id: Ic2edd0923e8253661a86eeb91f819f73db0edd68
Reviewed-by: Laszlo Agocs <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f332defeace28aec00da3b070a7b24df7031d9e0

Git commit 09ddf5a59c8bfba4913775cf9e11a016832423ea by Liang Qi (on behalf of Andy Nichols) on 17/08/2026 at 15:04..
ohos: Fix crash when a native sub window can't use SessionManager

Creating a native sub window selected createSubWindowWithOptions()
purely from the device type (everything that is not a phone). That
call requires SystemCapability.Window.SessionManager, and on devices
where it is unavailable at runtime the JS call returns undefined
instead of a Promise. Qt runs inside an embedded UIExtension host
where this happens even when the capability is advertised, so the
resulting rejected promise reached qOhosReportFatalErrorAndAbort()
and terminated the process with SIGABRT, for example when opening a
menu or popup backed by a native sub window.

Query the capability directly with canIUse() instead of guessing from
the device type, and if createSubWindowWithOptions() still fails, fall
back to the @crossplatform createSubWindow() rather than aborting. The
options dropped by createSubWindow() (title, decorations, modality and
rect) are applied separately after creation anyway.

Reference:
https://developer.huawei.com/consumer/en/doc/harmonyos-references/arkts-apis-window-windowstage#createsubwindowwithoptions11

Task-number: QTBUG-148852
Fixes: QTBUG-149105
Pick-to: 6.12
Change-Id: Id04295c901340b59b1ce13cfef1d584e45202424
Reviewed-by: Liang Qi <[email protected]>
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/09ddf5a59c8bfba4913775cf9e11a016832423ea

Git commit 3a34c6cc2f5fa36c02aa92daad1a769a03807e2e by Edward Welbourne on 17/08/2026 at 16:03..
tstQDateTime arithmetic: s/timeSpec/timeRepresentation/

Test the full mode of representation of the time rather than just the
category of representation. In practice this means, for a fixed offset
from UTC, checking the offset and, for a timezone, checking it's the
same zone.

While we're at it, compare against the representation given for the
expected result, rather than the original value: the two should in
fact be the same, but (a) this is more in keeping with "compare actual
to expected" patterns and (b) if there ever arises a case where such
arithmetic could trigger a representation change, this lets the test
case for it represent that in its expected result.

Pick-to: 6.12 6.11 6.8 6.5
Change-Id: I861f48e743d6b8527e45037b605accd1f70f3ae2
Reviewed-by: Mate Barany <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/3a34c6cc2f5fa36c02aa92daad1a769a03807e2e

Git commit d927d8682524e44f86df9f4b24299136fcfbc5b3 by Laszlo Agocs on 17/08/2026 at 16:03..
rhi: d3d12: Set RTsSingleHandleToDescriptorRange to false

...for OMSetRenderTargets. The descriptors are not guaranteed
to be contiguous, each RTV is created by calling allocate(1).
They may often end up being contiguous but that's by accident.

Set RTsSingleHandleToDescriptorRange to FALSE to indicate
pRenderTargetDescriptors is an array of handles and each element
needs to be dereferenced individually.

Fixes: QTBUG-149220
Pick-to: 6.12 6.11 6.8
Change-Id: I456123babb5b6f4fa6582c4fb908667830914e78
Reviewed-by: Andy Nichols <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/d927d8682524e44f86df9f4b24299136fcfbc5b3

Git commit dae3ebe3edbdca21ef7c08ce01aff20eeb14ee53 by Mårten Nordheim on 17/08/2026 at 16:03..
QHostInfo: Mark static functions threadsafe

They are meant to be used from any thread, so must be so.

Pick-to: 6.12 6.11
Change-Id: I4df5b843cdef6d785fb764e8dc44b813ead1c71f
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/dae3ebe3edbdca21ef7c08ce01aff20eeb14ee53

Git commit ba2681253654e846c2a2c736380b1d4e75fca483 by Mårten Nordheim on 17/08/2026 at 16:03..
QHostInfo: Mark clearCache() threadsafe

From API review

Pick-to: 6.12
Change-Id: I3850628ee6b62684fc434184c14d6144ba5d4f40
Reviewed-by: Yauheni Pervenenka <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/ba2681253654e846c2a2c736380b1d4e75fca483
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.