[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 6f2dc4dde69f83bca4227b55bd1072cb5c70b275 to dfc302353cbb67ba5fd5d7e57fbf7e00a4f032f8
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 bf9aea18c36a5dc30631347acf3d8fbc73bddaf4 by Marc Mutz on 28/07/2026 at 18:41..
QByteArray: fix UB (nullptr passed to memcpy()) in assign()

Found by ubsan running tst_qstringbuilder:

  qbytearray.cpp:2234:20: runtime error: null pointer passed as argument 2, which is declared to never be null
    #0 0x7f109c3a5eea in QByteArray::assign(QByteArrayView) qbytearray.cpp:2234
    #1 0x55b99f25ff37 in QByteArray operator+<void>(QByteArray const&, QByteArrayView) qbytearray.h:737
    #2 0x55b99f1b9459 in checkAutoImpl3<QByteArray, QByteArrayView, QByteArray> stringbuilder.cpp:202
    #3 0x55b99f1c47a8 in checkAutoImpl2<QByteArray, QByteArrayView, QByteArray> stringbuilder.cpp:216
    #4 0x55b99f1c47a8 in checkAutoImpl<QByteArray, QByteArrayView, QByteArray> stringbuilder.cpp:225
    #5 0x55b99f1c47a8 in checkAuto stringbuilder.cpp:240
    #6 0x55b99f1eac01 in runScenario stringbuilder.cpp:622
    #7 0x55b99f1f14de in tst_QStringBuilder5::scenario() tst_qstringbuilder5.cpp:29

Fix, as usual, by length-guarding the call.

Amends 18a2c62c073371ab24685d0f98b4b0cc04d11a7e (6.6).

Pick-to: 6.12 6.11 6.8
Change-Id: I08e0073d52b9159463ce25e76054b47d505de868
Reviewed-by: Dennis Oberst <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/bf9aea18c36a5dc30631347acf3d8fbc73bddaf4

Git commit b79ee960343d7bedf97520a0c7338481436a02fd by Assam Boudjelthia on 28/07/2026 at 21:09..
AndroidTestRunner: parse CLI arguments via QCommandLineParser

Replace the hand-rolled if/else loop and printHelp() with
QCommandLineParser, dropping the parallel help text that had to track
parseOptions() by hand.

A splitOwnAndTestArgs preprocessor inserts -- ahead of the first
unknown arg, so CI wrappers can keep appending QTest's bare CLI
("-o file,xml", "-,txt") without a separator. The set of known
options is derived from what the parser already has. The
preprocessor fails the run early with "Option --<name> requires a
value." when a value-taking flag is the last argv entry, instead
of letting the parser report a less informative "Missing value".

When --aab is given, verify the --bundletool path actually exists
up front so a missing jar surfaces a clear runner-level error
instead of a confusing 'java -jar /no/such.jar' failure later.

Behavioural change: option matching is now case sensitive.

Pick-to: 6.12
Task-number: QTBUG-146960
Change-Id: I2cda0e45919c5edfc033c0062df37ddfa08fca48
Reviewed-by: Ville Voutilainen <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/b79ee960343d7bedf97520a0c7338481436a02fd

Git commit a9ff2383057264b88e32922d7b38fa6b946ac28e by Alexandru Croitor on 28/07/2026 at 21:09..
CMake: Fix passing of defines with parentheses for EP examples

Some repo .cmake.conf files have

 set(QT_EXTRA_EXAMPLE_TARGET_DEFINES
     "QT_ENABLE_STRICT_MODE_UP_TO=QT_VERSION_CHECK(6,11,0)"
 )

When building examples as external projects these defines got added
to CMAKE_CXX_FLAGS_INIT and broke the build because of the
un-escaped parentheses, with an error like:

 CMake Error at CMakeTestCXXCompiler.cmake:60 (message):
 The C++ compiler is not able to compile a simple test program.
 /bin/sh: 1: Syntax error: "(" unexpected

Instead of adding the defines to CMAKE_CXX_FLAGS_INIT, the build
system now generates a CMake file that is included in the top-level
project() call of each example project.

The file passes the defines to the compiler via
add_compile_definitions() which ensures proper escaping on the command
line.

Amends d2a2e1de94421002255c664d86b4a2861bf9a6b1

Pick-to: 6.12
Change-Id: Ib319bca16335c6ea8d0310e940735814368f4100
Reviewed-by: Orkun Tokdemir <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/a9ff2383057264b88e32922d7b38fa6b946ac28e

Git commit e9016af529c6c8f415934632c605b1659dfe1fc5 by Assam Boudjelthia on 28/07/2026 at 21:09..
CMake/Android: keep the OpenSSL root in CMake path format

The auto-bundled OpenSSL paths go into QT_ANDROID_EXTRA_LIBS,
which the deployment settings writer keeps as is under
QTP0002 NEW. Backslashes in a native Windows OPENSSL_ROOT_DIR
are read as escapes when that JSON is parsed, so
androiddeployqt gets a path that lost its separators:

  External library C:Utilsprebuilt-openssl.../libcrypto_3.so
  does not exist!

Convert the OpenSSL and vcpkg roots on Windows hosts.

Amends 49d8a08bae597713f3c666fcbd10c827bc413163.

Fixes: QTBUG-148156
Pick-to: 6.12
Change-Id: I3312006e4f1e263d84361c7430db3d7395bdc32b
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/e9016af529c6c8f415934632c605b1659dfe1fc5

Git commit 295b0b1a9fa3ac638a6d3c1c8f044823c24ea1d4 by Assam Boudjelthia on 28/07/2026 at 21:09..
androiddeployqt: resolve lib dependencies without ABI suffix

The module dependency XML records every <lib> entry with
an ABI suffix, the way Qt's own Android libraries are built.
Prebuilt libraries in the Qt prefix, such as FFmpeg, keep
their plain name, so the recorded name is not there:

  llvm-readobj: error: '.../libavutil_arm64-v8a.so':
  No such file or directory

Resolve an entry that is not on disk to the other spelling,
and check the architecture of the resolved path. The raw
relative name only worked while it carried a suffix, which
is recognized by name alone, so a plainly named entry was
dropped silently. Also stop absoluteFilePath() from prefixing
an absolute path.

Task-number: QTBUG-148156
Pick-to: 6.12
Change-Id: I1692e516189f03e5a3ced93897e617c94e038f75
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/295b0b1a9fa3ac638a6d3c1c8f044823c24ea1d4

Git commit d952516a9ad4c05fe4b692b5ce1ef50c12f290f1 by Assam Boudjelthia on 28/07/2026 at 21:09..
CMake/Android: don't mangle XML lib dependency paths

The XML writer replaced every ".so" in a path, so an absolute
entry, one that already had the ABI suffix, or a ".so" inside
a directory name came out mangled.

Rewrite only a trailing ".so", and leave an absolute or an
already suffixed entry alone. No current entry hits any of
those, so the generated XML is unchanged.

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

Git commit dfc302353cbb67ba5fd5d7e57fbf7e00a4f032f8 by Shawn Rutledge on 28/07/2026 at 22:26..
HTML export: emit the title attribute for tool tips

QTextHtmlParser reads the "title" attribute of an <a> element into
QTextCharFormat::toolTip() (the TextToolTip property), and that tool tip is
shown on hover by the widgets (QWidgetTextControl::showToolTip) as well as
by Qt Quick's Text and TextEdit hoveredToolTip property. But the HTML
exporter wrote only the href, so a link tool tip was silently dropped by
toHtml() and did not round-trip - even though the Markdown writer already
preserves it, and images already export their title.

Any HTML tag can have a `title` attribute. We now emit it as part of a
<a> <img> or <span> tag when the char format specifies a tooltip.
For links and images, this round-trips consistently between HTML and
Markdown import/export. (Markdown doesn't have a way to specify titled
spans though.)

Task-number: QTBUG-148550
Pick-to: 6.12
Change-Id: I89f6eec6a64b873bee3519320509966b33470fe5
Reviewed-by: Oliver Eftevaag <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/dfc302353cbb67ba5fd5d7e57fbf7e00a4f032f8
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.