[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 2d88a9e43de1682c481132118768bd92c7a537d4 to ec84460a9b6a36a45910fb87f1803f3f3a2a140f
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 0f7a0b92948511b28972f861513c735d9f2a5ceb by Жора Змейкин on 05/08/2026 at 13:11..
QFileDialog: Fully encode persisted URLs

Qt 5 and Qt 6 use different QSettings INI encodings, while
QFileDialog stores its global state in the same QtProject.conf file.
Alternating between versions can therefore repeatedly re-encode
non-ASCII URL values and make the settings file grow without bound.

Store shortcuts, history, and lastVisited using QUrl::FullyEncoded.
This keeps the values ASCII-only without changing the settings keys or
their cross-version behavior.

Pick-to: 6.12 6.11 6.8
Fixes: QTBUG-133804
Change-Id: I6a2ef261a76850fea6eb15f1b6ddbc0e3fa014b6
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0f7a0b92948511b28972f861513c735d9f2a5ceb

Git commit 185e70dbebd09ccb472690b5bb09ce263261bb8d by Linus Jahn on 05/08/2026 at 13:11..
Implement QDnsLookup on Android

Bionic does not export the reentrant libresolv functions (res_ninit(),
res_nmkquery(), res_nsend()), so QT_FEATURE_libresolv is off on Android
and QDnsLookup has been using the dummy backend, failing every lookup
with "Not yet supported on this OS". The legacy res_query() that Bionic
does export is useless in an application process: only netd fills in the
name server list, so res_send() bails out with nscount == 0.

Everything needed to parse a reply is available, though (<arpa/nameser.h>
and dn_expand()), and Android's DnsResolver can send a raw DNS message
since API level 29. So instead of adding a separate backend, build
qdnslookup_unix.cpp on Android as well, sharing the reply parser, and
replace only the transport:

- the query is assembled by hand, as there is no res_nmkquery()
- android_res_nsend()/android_res_nresult() replace res_nsend(); the
  DnsResolver retries truncated replies over TCP itself, so a reply can
  exceed the announced EDNS0 payload size. A buffer that is too small
  makes the call fail with -EMSGSIZE rather than truncating, so that
  error repeats the query with a buffer large enough for any DNS
  message, keeping the common case free of allocations
- the AD bit is cleared, since we cannot tell whether the system
  resolver validated the reply
- querying a specific name server is not supported by the DnsResolver
  and reports an error; DNS-over-TLS is implemented by QDnsLookup
  itself and works on Android like everywhere else

QDnsLookup::isProtocolSupported(Standard) reports whether the DnsResolver
is actually there, so applications can fall back on Android 9, and the
test skips instead of failing.

Both functions were introduced in API level 29 while Qt still supports
28, so the NDK headers mark them unavailable and even taking their
address is an error unless the build defines
__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__, which Qt does not. They are
therefore referenced through weakrefs, which the loader resolves to
null on older systems.

Fixes: QTBUG-56143
Change-Id: I11e331d95a304914453531fb8979cc69d3dec958
Reviewed-by: Mårten Nordheim <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/185e70dbebd09ccb472690b5bb09ce263261bb8d

Git commit a790b40b46aac8e6e6d030648ba70944406aa084 by Laszlo Agocs on 05/08/2026 at 13:11..
Fix tst_qrhi to not die with MoltenVK on macOS

Not a fully supported setup to run QRhi autotests on Vulkan
on MoltenVK, but it should not end up crashing instead of
reporting failures.

Pick-to: 6.12
Change-Id: I8efe706f13cd0521c0f1384c18f1f8f4ab96ad30
Reviewed-by: Andy Nichols <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/a790b40b46aac8e6e6d030648ba70944406aa084

Git commit 2ca8063ff5430cf225bf2a259b32e946cf7f1ed3 by Laszlo Agocs on 05/08/2026 at 13:11..
rhi: Clamp texture uploads to the raw data actually provided

On the raw data upload path neither sourceSize() nor dataStride() was
checked against data().size(), and unlike the QImage path there was no
destination clamp either. An oversized size or stride therefore produced
a copy command reaching past the bytes that were staged.

Add clampedSubResourceUploadSizeForSourceData(), the source side
counterpart of the existing clampedSubResourceUploadSize(), and apply
both clamps in all five backends. The clamp requires
(height - 1) * stride + width * bytesPerPixel bytes: a stride pads only
between rows, so the trailing padding of the last row is not counted.
That matches the Vulkan and OpenGL rules for addressing a copy region,
while with D3D12 the staging copy is performed row by row by ourselves.
However, whether the last row's padding is read cannot be guaranteed
for D3D11 (UpdateSubresource) and Metal, because the behavior is not
clearly specified for these. Therefore, expand the setDataStride()
documentation to state that the data is expected to include the
trailing padding of the last row as well.

Also add an autotest.

This does not change the fact that the QRhi API should be used with
trusted content only, but gracefully handling incorrect size or stride
arguments and unintentionally truncated image data is something we
should still do.

Pick-to: 6.12
Change-Id: Ieb9efc5835b94dd819cc886e160e44e7a174d1f3
Reviewed-by: Andy Nichols <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/2ca8063ff5430cf225bf2a259b32e946cf7f1ed3

Git commit b23e1b97e213ea24a7498653c3c4e86238eb48f0 by Tor Arne Vestbø on 05/08/2026 at 15:03..
Bump supported Apple SDK version to 27

Pick-to: 6.12
Change-Id: I8417c22e42b1a2d400f9c2721192b866b2d6fb06
Reviewed-by: Doris Verria <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/b23e1b97e213ea24a7498653c3c4e86238eb48f0

Git commit f00ced8d0df829f6ec4507d4784c905888628d6d by Linus Jahn on 05/08/2026 at 15:03..
QNetworkInfo[android]: Advertise Metered feature

The Android backend has connected AndroidConnectivityManager's
meteredChanged signal to setMetered() ever since it gained metered
support, but Feature::Metered was never added to the features list.

isMetered() reads the backend value without consulting that list, so
the value itself has been correct all along. supports(Metered) and
supportedFeatures(), however, do not report it, and since the factory
filters on featuresSupported(), loadBackendByFeatures(Metered) fails
to load a backend at all on Android -- the android plugin is the only
one built there, so there is nothing to fall back to and instance()
returns nullptr.

This is the same omission that was fixed for the Windows backend in
QTBUG-118741.

Amends 83ddf49bc71736a19f27e6e8b72831ea72e441cc

Fixes: QTBUG-148810
Pick-to: 6.12 6.11 6.8
Change-Id: I446fefd2771cd8cb1fc3b1dda2eb2fc45fcfa8e0
Reviewed-by: Mårten Nordheim <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f00ced8d0df829f6ec4507d4784c905888628d6d

Git commit 256f67e4e79673a510efcc76e4c3427cec2a3ceb by Magdalena Stojek on 05/08/2026 at 15:38..
QCollator: Move warnings to a logging category

Replace qWarning() calls in the qcollator backends with categorized
qCWarning().
Capitalize "POSIX" consistently in the warning messages.

Change-Id: I5cdf53ddd16ce895328e0f9583a9e2746b5f6881
Reviewed-by: Edward Welbourne <[email protected]>
Reviewed-by: Thiago Macieira <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/256f67e4e79673a510efcc76e4c3427cec2a3ceb

Git commit c580f1ff5b39308256d17f40b079cc05d529bfd8 by David Boddie on 05/08/2026 at 15:38..
Doc: Fix function links to use parentheses

Change-Id: Ibf918313fec3c53343f3f52e59d98b9547ffa8fe
Reviewed-by: Paul Wicking <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c580f1ff5b39308256d17f40b079cc05d529bfd8

Git commit ec84460a9b6a36a45910fb87f1803f3f3a2a140f by Frédéric Lefebvre on 05/08/2026 at 15:38..
QTestPrivate::moveCursorAway should be returning true on RHEL 10

QT_CONFIG(cursor) returns true on RHEL 10 even when cursor movement is
not actually functional resulting in QTestPrivate::moveCursorAway
failing.

Temporarily return true when on RHEL 10 as to prevent false negative.

Pick-to: 6.12 6.11 6.8
Change-Id: I3d3be81b79e9c76a505f37526b58fe37feb043ca
Reviewed-by: Axel Spoerl <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/ec84460a9b6a36a45910fb87f1803f3f3a2a140f
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.