[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.12'.
Changed from db57b83afe0077480340a69918feaab8760d8564 to 43cb234206ff83ecb5b46d753505910d59f42835
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 22199c7c5d950b8559dedb7a419e2ceae3c0fa21 by Qt Cherry-pick Bot (on behalf of Arkadiusz Zarębski) on 13/08/2026 at 09:47..
ohos: skip resizeAsync() when the window size is unchanged

An application that moves its own window - handling mouse events and
calling QWidget::move() - lagged visibly behind the pointer. Every mouse
move event crosses from the JS thread to the Qt thread, and the
resulting geometry update is applied back in the JS thread, so each
event pays a full round trip between the threads. A redundant resize on
that path is expensive.

QOhosWindowProxy::setSize() called resizeAsync() unconditionally and
blocked the Qt thread until the returned JS promise settled, and calls
that do not change the size are common - the size is re-submitted on
every window state sync, whether or not it actually changed.

Measured while dragging a fixed-size window:
- the resizeAsync() promise took 62 ms on average to settle
- setSize() blocked the Qt thread for 68 ms on average, the difference
  being the hand-off back to the Qt thread

Read the window rect in the JS thread and skip resizeAsync() when the
requested size already matches it. Dragging a window now follows the
pointer closely, which is a clearly noticeable improvement over the lag
that was plainly visible before.

Task-number: QTBUG-148993
Change-Id: I5be1b19bc75f035b5fb4ffd19934b2f9380d27bb
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
(cherry picked from commit dc4908f85e18aee01ca860a082bcb4a8fadf1fc8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/22199c7c5d950b8559dedb7a419e2ceae3c0fa21

Git commit fee6b64022986f66ffd5731d4fdc5e87822760ca by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QOpenGlWidget on Ubuntu

tst_QOpenGlWidget is no longer flaky or failing on Ubuntu.

Pick-to: 6.11 6.8
Change-Id: I1876466f8aefc143b590c3d3d5c467d34949bdd2
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit bd7909f090bdae15ea1159e528f6401d593cb38a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/fee6b64022986f66ffd5731d4fdc5e87822760ca

Git commit f77aa0358a4e081cb2321dcc9bd79bce4bde7327 by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_Gestures::panelStacksBehindParent, panelPropagation

tst_Gestures::panelStacksBehindParent and panelPropagation are not
flaking or failing anymore on Ubuntu 22.04

Unblacklist them.

Pick-to: 6.11 6.8
Change-Id: I52ee55feb790705117932ff66d444c51287980ed
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit b481512fd1e4413d13d6a4bc55cbb97ab8aef936)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f77aa0358a4e081cb2321dcc9bd79bce4bde7327

Git commit d4a594e2c650f09ccd6abb6c1810a5962df04785 by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad

tst_QTouchEvent::multiPointRawEventTranslationOnTouchPad is no longer
flaky on windows 11.

Unblacklist it.

Fixes: QTBUG-101519
Pick-to: 6.11 6.8
Change-Id: I5cecaf88e47f45536e948c32c6e5a987159ec5ce
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 6f6b03d68d23a69c3454249a8ba45d5bdd8f214d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/d4a594e2c650f09ccd6abb6c1810a5962df04785

Git commit 947f71c0aff948e66e5dde4e46b2ff99161df639 by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QGraphicsAnchorLayout::layoutDirection on Ubuntu 22.04

tst_QGraphicsAnchorLayout::layoutDirection is no longer flaking/failing
on Ubuntu 22.04

Unblacklist it.

Pick-to: 6.11 6.8
Change-Id: Id190f0658ab916d24bbbe46f8e3647f65a249115
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit b4a3d752277802c4a1f676de0d6570f5453570ba)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/947f71c0aff948e66e5dde4e46b2ff99161df639

Git commit 0f80b7fe4824307d0f356927be8548bfe85e74a4 by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QDnsLookup::lookupRoot on Linux

tst_QDnsLookup::lookupRoot is no longer failing/flaking on Linux.

Unblacklist it.

Task-number: QTQAINFRA-7130
Pick-to: 6.11 6.8
Change-Id: I4d78aa0c0f110d754f4e122615f218f076db3b5b
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 006032c51bff6cd6da50ff724081a1d871c16f8e)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0f80b7fe4824307d0f356927be8548bfe85e74a4

Git commit 63add9f65e36c0002d52321d8c6252e939a0154a by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QGraphicsView::resizeAnchor on RHEL

tst_QGraphicsView::resizeAnchor is no longer failing/flaking on RHEL.

Unblacklist it.

Pick-to: 6.11 6.8
Change-Id: I2e9541255882538a1f4f690d93c8dfd520215c95
Reviewed-by: Dimitrios Apostolou <[email protected]>
(cherry picked from commit 388b76f40afa334f72606a4af41498ae9678a956)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/63add9f65e36c0002d52321d8c6252e939a0154a

Git commit 51f24372a3149b13873812417126186b612bebcc by Qt Cherry-pick Bot (on behalf of Frédéric Lefebvre) on 13/08/2026 at 09:47..
Unblacklist tst_QScroller::overshoot_segments on Windows 11

tst_QScroller::overshoot_segments was meant to be blacklisted for
Windows 10, but also was for Windows 11.

Blacklist it only for Windows 10.

Task-number: QTBUG-134105
Pick-to: 6.11 6.8
Change-Id: I1b84ef8e339f9f7d15bc4ca3320e3ff744eec2d0
Reviewed-by: Axel Spoerl <[email protected]>
(cherry picked from commit 5654e74cd68e9e8f0907c6a24a5b6da1ad96f07a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/51f24372a3149b13873812417126186b612bebcc

Git commit bd96dc982c22da80c1a250407dce2993e3211d34 by Qt Cherry-pick Bot (on behalf of Alexei Cazacov) on 13/08/2026 at 09:47..
Doc: Housekeeping: Remove an empty .qdoc file

Pick-to: 6.11 6.8
Change-Id: I24673343f06b2832c16a86e46c0377322d9b8788
Reviewed-by: Jerome Pasion <[email protected]>
(cherry picked from commit 41ab0b4bf93717ee4f6bd6637af123f1427ea976)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/bd96dc982c22da80c1a250407dce2993e3211d34

Git commit c5b376e955549b5c8c0673515a6aeca63248d213 by Qt Cherry-pick Bot (on behalf of Alexei Cazacov) on 13/08/2026 at 09:47..
Doc: Housekeeping: Fix typos in qdoc formatting

Pick-to: 6.11 6.8
Change-Id: Ic6e12048d25e3a8b556f17453dc25503a972c480
Reviewed-by: Ivan Solovev <[email protected]>
(cherry picked from commit ff94fa3050e16d4effc2db69cbf001feac7ea7af)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c5b376e955549b5c8c0673515a6aeca63248d213

Git commit 93a6a7be20e7487d72f35b3c22ab4c8964640f6d by Qt Cherry-pick Bot (on behalf of Alexei Cazacov) on 13/08/2026 at 09:47..
Doc: Housekeeping: Fix the \macos macro spelling

This commit corrects the \macos macro spelling. Macros are
case-sensitive, and the correct spelling is \macos, not \macOS.

Change-Id: I6430146cfa140cf0973df72638d1534599ae2e25
Reviewed-by: Frederic Lefebvre <[email protected]>
(cherry picked from commit afdddad1cb6bfa48c060402fc17fdc504245a5f1)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/93a6a7be20e7487d72f35b3c22ab4c8964640f6d

Git commit 6cbcd53fe4fdda90be1194557a7bb46b82036c44 by Qt Cherry-pick Bot (on behalf of Christian Ehrlicher) on 13/08/2026 at 09:47..
Tests/QWidget: remove unneeded QTest:qWait() calls

Use QTRY_foo for the check after the wait instead.

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

Git commit 10b6f5668e3baaa1fe2c0bbf292fe2f31b4e6c4a by Qt Cherry-pick Bot (on behalf of Christian Ehrlicher) on 13/08/2026 at 09:47..
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.

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

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

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

Unblacklist it.

Pick-to: 6.11 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]>
https://invent.kde.org/qt/qt/qtbase/-/commit/03ffdae20983a5f6004df8048d654ac1fbc5eb1f

Git commit 9ae55e9f02f5ba9f27d7ce675eacec07bff009ef by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 13:58..
QDialogButtonBox: fix build with -DFEATURE_shortcut=OFF

QPlatformTheme::standardButtonShortcut() only exists when the shortcut
feature is enabled, so QDialogButtonBox::standardButtonShortcut() fails
to compile without it. Guard the declaration and definition the same
way, matching the already-guarded call site in createButton().

Amends 3989b6a01102721bbc9dd92db70411900d58f085.

Change-Id: Ifa0117729bfbdbee2282bc3992bae00ffa392449
Reviewed-by: Volker Hilsheimer <[email protected]>
(cherry picked from commit b17ad6c0f43bd0307c2ee508b868c5422dfecdac)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9ae55e9f02f5ba9f27d7ce675eacec07bff009ef

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

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

Unblacklist it.

Pick-to: 6.11 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]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f959af4de70fc9dfca438abef2a0bdd19380463a

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

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

Unblacklist it.

Pick-to: 6.11 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]>
https://invent.kde.org/qt/qt/qtbase/-/commit/1f3b17deb5c8c0a475d1464a9c9cd8e9a04b182c

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

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

Unblacklist it.

Pick-to: 6.11 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]>
https://invent.kde.org/qt/qt/qtbase/-/commit/7f6b1dffa7338a6b331e7e10af4d6ef09aa08357

Git commit 48bca5967c16d906fbfb4804db8a29ddb7c6078a by Qt Cherry-pick Bot (on behalf of SanthoshKumar Selvaraj) on 13/08/2026 at 13:58..
Fix precision loss in QTouchEventSequence::mapToScreen()

mapToScreen() called QWindow::mapToGlobal(const QPoint &), which
rounds the result to integer device-independent pixels. On screens
with a fractional high-DPI scale factor, this discarded sub-pixel value
before the position was scaled to native pixels, causing touch events
to occur on the incorrect coordinate.

Change the return type to QPointF and use the QPointF overload of
QWindow::mapToGlobal() instead, matching the QPointF that
QMutableEventPoint::setGlobalPosition() expects.

Change-Id: I7c9a0aa8f303cd1ec3c4b6a9650a3253b05770cf
Reviewed-by: Liang Qi <[email protected]>
(cherry picked from commit 84a0977d65e7b51b5e383d620f06fb87765cf05e)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/48bca5967c16d906fbfb4804db8a29ddb7c6078a

Git commit a2b71c27fb82f46e7ac8ae3934623b974c7ac19d by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 13:58..
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.

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

Git commit 34412f3751d13b4bcd2ac12ca7b8dc9748b6db48 by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 13:58..
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.

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

Git commit e98a087cddba95065de5bee4dc08b9e343e1b4c8 by Qt Cherry-pick Bot (on behalf of Mitch Curtis) on 13/08/2026 at 13:58..
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.

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

Git commit 9ebe2c63ee50f81b3a187990158ebe61a5365d2d by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
linuxfb: Move misplaced security annotation in qlinuxfbdrmscreen

Change-Id: I32e74ee8d359f32fd75e7bb760008a10997448a7
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit a9ce967788ddf0d8baddf99a37a1b850cf687607)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9ebe2c63ee50f81b3a187990158ebe61a5365d2d

Git commit 58ce6ce4d49a5ca822f2169914840c1dce6690ed by Qt Cherry-pick Bot (on behalf of Joerg Bornemann) on 13/08/2026 at 13:58..
CMake: Auto-detect HarmonyOS toolchain file from OHOS_SDK_ROOT

...in user projects. Before, it was necessary to set
QT_CHAINLOAD_TOOLCHAIN_FILE in addition to OHOS_SDK_ROOT if the
toolchain file stored within qt.toolchain.cmake doesn't exist, which is
most probably the case for an installer-provided Qt.

Now, we try to find the toolchain file within OHOS_SDK_ROOT like we do
on Android.

Also, we allow setting OHOS_SDK_ROOT from the environment like
ANDROID_SDK_ROOT for Android.

Fixes: QTBUG-148404
Change-Id: I23415024bbc926f2aa3085bf47eaa30966bd0e7f
Reviewed-by: Alexandru Croitor <[email protected]>
(cherry picked from commit 1fa14b47af27abf173a318e04541551b3d0060b0)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/58ce6ce4d49a5ca822f2169914840c1dce6690ed

Git commit 1073fe21ea617215469b07ccb4ae71ae26ada9f7 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
evdevtouch: Fix null dereference in debug output

The device pointer was dereferenced one line above its own null check.

Pick-to: 6.11 6.8
Change-Id: Iaf5488fe854cc6e6459413ac10f6e762342fc69b
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 77ff1c94e0165d57a3eb44a1914c02d88b7707fb)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/1073fe21ea617215469b07ccb4ae71ae26ada9f7

Git commit f4fd79c010707ded5b8911b8f2bc0764a21e807d by Qt Cherry-pick Bot (on behalf of Aurélien Brooke) on 13/08/2026 at 13:58..
QResource: avoid QString allocations in findNode()

Return mapping roots as QStringView and keep the lookup path as a view
in QResourceRoot::findNode(). This avoids constructing unnecessary
temporary QString objects for each lookup.

Handle the optional separator without modifying the mapping root,
preserving the existing behavior for roots with and without a trailing
slash.

The QtTest benchmark added by this change uses a .rcc mounted at
/mappedroot and measures QResource construction followed by isValid().
Both variants used RelWithDebInfo builds. QtTest's Linux perf backend
ran 21 samples of 1,000,000 iterations on one pinned CPU:

                        Before       After
Valid mapped resource   1005.1       762.8 cycles/iteration  (-24.1%)
Invalid mapped resource  922.6       634.0 cycles/iteration  (-31.3%)

For 100,000 lookups in either case, Heaptrack attributed 200,000
allocations to findNode() before the change and none after it.

Change-Id: I51bd14178243375c9d058ab8388fa11f78fd77f6
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit d2e9bf643ef9c576e88b7f7e2759c33e2ac8b241)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f4fd79c010707ded5b8911b8f2bc0764a21e807d

Git commit 08564ab834304d4131fd3043eb0d26d79e9e23c6 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
linuxfb: Fix crash when no DRM output is discovered

output(0) indexed an empty list when all connectors are disconnected
or every output is off or skipped in the KMS config. Fail the screen
initialization instead, which the caller already handles.

Pick-to: 6.11 6.8
Change-Id: I56b3da27fa95b3ad35da2dec0aad6148c402e85b
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit c5347d5e4323760b52c2cb66717627668fd854b0)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/08564ab834304d4131fd3043eb0d26d79e9e23c6

Git commit 36f2105b17d699774b927c56ce53f0067189c23b by Qt Cherry-pick Bot (on behalf of Aurélien Brooke) on 13/08/2026 at 13:58..
QResource: avoid redundant QLocale construction

Pass the file name and locale to QResourcePrivate's constructor so both
members are initialized directly. Previously, the locale member was
default-constructed and both members were then assigned in the public
constructor.

This removes a QLocale default construction, including its system locale
mutex acquisition, from every QResource construction.

The existing QtTest benchmark measures QResource construction followed
by isValid(). QtTest's Linux perf backend ran 21 samples of 1,000,000
iterations on one pinned CPU:

                        Before       After
Valid mapped resource    750.2       675.0 cycles/iteration  (-10.0%)
Invalid mapped resource  624.3       546.1 cycles/iteration  (-12.5%)

A second run in reverse order produced improvements of 9.9% and 12.2%,
respectively.

Change-Id: Ia0a8bbccec8d2b92dae6547f9fb4833aa70c4b78
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit d8fe3816dcaa9ed161f81fcedc5bca0808a1674d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/36f2105b17d699774b927c56ce53f0067189c23b

Git commit 182ea6c651f9ef2cfd58ec393fd98b6fc16b4247 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
linuxfb: Fail instead of showing a blank screen on an unknown format

determineFormat() returns Format_Invalid for an unrecognized bitfield
layout or an 8-bit depth, but initialize() reported success anyway. The
resulting null QImage left the display permanently blank, with only a
QPainter warning to explain it.

Pick-to: 6.11 6.8
Change-Id: I9460e97e82b3615f99cd65662176966f6ba01f0a
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit a99028d6c76ae0dbd8450981cc8bdeb57a739f31)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/182ea6c651f9ef2cfd58ec393fd98b6fc16b4247

Git commit 28980964ace2c265392389232dc27c81cb321d67 by Qt Cherry-pick Bot (on behalf of Aurélien Brooke) on 13/08/2026 at 13:58..
QResource: avoid a temporary QLocale in ensureChildren()

Pass QResourcePrivate's locale to QResourceRoot::findNode() while
collecting children. This avoids default-constructing a temporary
QLocale at the call site. Remove findNode()'s default argument so all
callers must pass a locale explicitly.

Add a benchmark that constructs a resource for :/mappedroot and calls
children(). QtTest's Linux perf backend, using the cpu-cycles counter,
ran 21 samples of 1,000,000 iterations on one pinned CPU. Averaging runs
in both orders produced:

                         Before   After
Mapped-root children      1365.9  1319.6 cycles/iteration  (-3.4%)

Change-Id: I5b67e8442d4307b1a08c30db3a2026f05bf1ccef
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit e9813a3c1865d7a76caa731cbe173b2b59cd0ab6)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/28980964ace2c265392389232dc27c81cb321d67

Git commit ce06d9f07360967c8b1a0f5241525c3a9955203d by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
Fix touch device to screen mapping for symlinked device nodes

The table was keyed on the canonical path of the configured touchDevice
but looked up with the device node string the input handler was given.
Those agree when the device comes from discovery, which always yields
/dev/input/eventN, so the common case worked. They differ when the node
is named explicitly by a stable symlink, for example
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/by-id/..., and then the
lookup silently missed and touches went to the primary screen.

Canonicalize on lookup as well, fall back to a literal match, and warn
instead of storing an empty key when the configured path cannot be
resolved.

Pick-to: 6.11 6.8
Change-Id: I59bf26e16e8441a4976222ca0e31a9b7337d7a99
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 9981b42aa1d3c6edd8ea2cd221cf29b86571e2a9)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/ce06d9f07360967c8b1a0f5241525c3a9955203d

Git commit e59d7218806ed890fe69bb513300da00f914b061 by Qt Cherry-pick Bot (on behalf of Aurélien Brooke) on 13/08/2026 at 13:58..
QResource: avoid an allocation for single-root lookups

Use QVarLengthArray with inline capacity for one pointer for
QResourcePrivate::related. A valid resource lookup normally has one
matching root, so keeping that pointer inline avoids a heap allocation.
Dynamic storage remains available when multiple resource roots match.

A static survey of the resource trees compiled into QtGui, QtQml,
QtQmlMeta, QtQmlModels, QtQmlWorkerScript, and QtQuick found 22 RCC
roots and 206 distinct paths. Of those, 200 match exactly one root,
including all 192 leaf paths. The six multi-root paths are shared
directories matching 3, 5, 15, 15, 21, and 22 roots.

Add a benchmark for two matching roots. QtTest's Linux perf backend,
using the cpu-cycles counter, ran 21 samples of 1,000,000 iterations on
one pinned CPU. Averaging runs in both orders produced:

                       Before  After
Single matching root    675.7  618.9 cycles/iteration  (-8.4%)
Two matching roots      810.3  766.3 cycles/iteration  (-5.4%)
Invalid resource        545.6  551.9 cycles/iteration  (+1.1%)

For 100,000 single-root lookups, Heaptrack reports 100,001 fewer
allocations. The allocation count for two-root lookups is unchanged,
while the requested storage drops from 32 to 16 bytes. The inline
storage increases sizeof(QResourcePrivate) from 144 to 152 bytes.

Change-Id: I387b095b7d3e2e6354e04b39f0d97e2c15aa152d
Reviewed-by: Thiago Macieira <[email protected]>
(cherry picked from commit 9bb4b56cc31aed0768eccf0bfcd41c0bf308d603)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/e59d7218806ed890fe69bb513300da00f914b061

Git commit c0e54ac92341374d888481a4ed3d4993173920e4 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
kms: Do not put uninitialized stack bytes into a DRM mode blob

parseModeline() set only the fields it parses and the four it zeroed
explicitly, leaving name[] and the rest of the caller's stack
drmModeModeInfo untouched. The struct is passed whole to
drmModeCreatePropertyBlob(), so up to 32 uninitialized bytes ended up in
a property blob that other DRM clients can read back.

Zero the whole struct instead, which also covers any field added later.

Pick-to: 6.11 6.8
Change-Id: I69afb522de18fb3a928a3edf359c6595895b2491
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit d769af94fd05112873dce5147fdd68d71b3d107d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c0e54ac92341374d888481a4ed3d4993173920e4

Git commit c0f2183eef07a69358f567aba361c41bf6f5855c by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
linuxfb: Honor the DRM device from the KMS config

The DRM backend passed a hardcoded /dev/dri/card0 to QKmsDevice, and
since the base class only consults the config when the given path is
empty, the "device" key of QT_QPA_EGLFS_KMS_CONFIG was silently ignored
here, unlike in the eglfs KMS integrations. A board whose DRM device is
not card0 could not be configured.

Passing an empty path is not an option, as QKmsDevice then aborts when
there is no config file, so keep card0 as the fallback.

Pick-to: 6.11 6.8
Change-Id: Icaef369d80ec42b6090d64b85f9cc1a83d9afc30
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 8d94499f785f8a5c9be2e6cb1a92fc1fb40e5eee)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c0f2183eef07a69358f567aba361c41bf6f5855c

Git commit 0b2103ddebec90004a9fc490f184ef26ed3e3ec4 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
vkkhrdisplay: Log through a category instead of unconditional qDebug

Every startup of a shipped application printed the display and mode
enumeration and a full plane capability dump to stdout. Move all of it
behind a qt.qpa.vkkhrdisplay category, as the other embedded platform
plugins do. The qWarning calls report real failures and are left alone.

Pick-to: 6.11 6.8
Change-Id: I75cfe393a08c5352f89eed8103f8b7a646da5c93
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 28cf5581b8beafd1685db89991f539ef711d2047)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0b2103ddebec90004a9fc490f184ef26ed3e3ec4

Git commit 24908b665f1e9ef5e6ddfc3bb76ba6763b8008c6 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
eglfs: Validate cursorsPerRow of the cursor atlas

The value was read with toDouble() and converted to int, which is
undefined for anything outside int range, and only checked with a
Q_ASSERT that is compiled out in release builds. A missing or zero entry
then divided by zero two lines later, and a huge one overflowed
Qt::LastCursor + cursorsPerRow.

Read it with toInt(), which yields 0 for a missing key and for anything
that is not a whole number in range, and reject values outside
1..Qt::LastCursor + 1, more cursors per row than there are cursors being
meaningless. Only custom atlases set through QT_QPA_EGLFS_CURSOR are
affected; the built-in one is unchanged.

Task-number: QTBUG-149070
Pick-to: 6.11 6.8
Change-Id: Iace91803d1897a957eca11ad247b3351be3b36d7
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 5bff0cac99125b602dd02ff1ef4e000a737b3b2a)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/24908b665f1e9ef5e6ddfc3bb76ba6763b8008c6

Git commit 5a5300e06d35bc5a12eff26007608b0ff638453a by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
kms: Avoid undefined shifts when tracking CRTC usage

m_crtc_allocator is a 32 bit mask, but the CRTC index shifted into
it was bounded only by the number of CRTCs the device reports, and
the shifts were done on a signed 1, so index 31 was already
undefined. Bound the index where it originates, in
crtcForConnector(), which covers all four users, and make the
shifts unsigned.

No device exposes more than 31 CRTCs today, so this is hygiene
rather than an observable fix.

Pick-to: 6.11 6.8
Change-Id: Ia532174388f668687dd1d6dfc39ae5c014230c97
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 957a533bb6d7c824cf2a9b83f125e2a185a547ef)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/5a5300e06d35bc5a12eff26007608b0ff638453a

Git commit 5c1085c7ba227ee3df55b80408a118f4d0ba2544 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
devicediscovery: Check the udev device before using it

udev_device_new_from_syspath() can fail, and the result was passed
straight on to udev_device_get_devnode() and udev_device_unref().

Pick-to: 6.11 6.8
Change-Id: Ibe1504967760552885302b3087ac9829c5dc1260
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 28862699f08654a8136cdb1b7684f44c82680e95)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/5c1085c7ba227ee3df55b80408a118f4d0ba2544

Git commit 43cb234206ff83ecb5b46d753505910d59f42835 by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 13/08/2026 at 13:58..
vkkhrdisplay: Use the first suitable plane, not the last

The loop had no break and kept overwriting the selection, so the
highest numbered suitable plane won, while the comment above it
says to use the plane that was found. Keep the first match instead.

Guarding the assignment rather than breaking out preserves the
capability logging for the remaining planes, which is the only
other thing the loop does.

Pick-to: 6.11 6.8
Change-Id: Id27f7cd9af1efed0c28c7eaef31432226fc1ad20
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 863a42b89565de98918c4c5ca741841f29886573)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/43cb234206ff83ecb5b46d753505910d59f42835
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.