[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 97b177ccd070f8cd94c41d0ad8adc16b3d482a97 to 4d79df0512667fbd5f22651f2e93707e4ea14ce9
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 8bcd3fd0658e95b2ad321dec4ff18735bcda31ff by Oliver Wolff on 14/08/2026 at 12:39..
Windows QPA: validate GlobalLock result in OLE clipboard data receive path

GlobalLock() can return nullptr for a discarded GMEM_DISCARDABLE handle
even after GlobalSize() succeeds. Guard the pointer before passing it to
QByteArray::fromRawData to avoid a null pointer dereference when reading
clipboard or drag-and-drop data from an external IDataObject.

Task-number: QTBUG-148512
Pick-to: 6.12 6.11 6.8
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Change-Id: I56358cbd98f55b92526c05fbd1ecc7d0f0e7ea02
Reviewed-by: Wladimir Leuschner <[email protected]>
Reviewed-by: Morteza Jamshidi <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/8bcd3fd0658e95b2ad321dec4ff18735bcda31ff

Git commit c82490f04f29b67df0e3c4dad7c79ecbc1e68475 by Oliver Wolff on 14/08/2026 at 12:39..
Windows QPA: Size the window icons for the DPI they are shown at

createHIcon() sized the title bar and task bar icons using
GetSystemMetrics(), which reports metrics for the system (primary
monitor) DPI only, and requested the pixmap with a device pixel ratio
of 1. On a monitor with a fractional scale factor the resulting HICON
therefore had the wrong physical size, leaving it to DWM to rescale the
bitmap, and QIcon could not pick a representation authored for the
actual scale factor.

Ask for the metrics with GetSystemMetricsForDpi() instead and request
the pixmap at the corresponding device pixel ratio, so that the icon is
delivered in the physical size that is expected and QIcon can select a
matching representation, if the icon provides one.

The DPI to use differs per icon. The small icon is drawn in the window's
title bar, so it is sized for the monitor the window is shown on, which
is determined via GetDpiForWindow(). The big icon is used by the task
bar and the Alt+Tab dialog. The task bar is shown on every monitor, so
there is no size that is correct on all of them; it is sized for the
primary monitor, which keeps it sharp where the task bar usually is.

Note that savedDpi() cannot be used for the title bar icon, since
setWindowIcon() is already called from the constructor, whereas the
saved DPI is initialized in initialize().

Fixes: QTBUG-148524
Pick-to: 6.12 6.11 6.8
Change-Id: I4eac19b4f6c288dc7edf7027d3544072433fc4f0
Reviewed-by: Wladimir Leuschner <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c82490f04f29b67df0e3c4dad7c79ecbc1e68475

Git commit 2542ae3da1cfa71eb85693d0cbf6cd18db8b915e by Oliver Wolff on 14/08/2026 at 12:39..
Windows QPA: Recreate the title bar icon on DPI changes

The title bar icon is created for the DPI of the monitor the window is
shown on, but handleDpiChanged() did not recreate it. Moving a window to
a monitor with a different scale factor therefore left it with an icon
sized for the previous monitor, which DWM then had to rescale.

Recreate the icon for the new DPI, as is already done for the theme
cache and the window mask. The task bar icon is sized for the primary
monitor and is therefore unaffected by the move; it is recreated
unchanged, so that the task bar does not have to reload it.

Fixes: QTBUG-148525
Pick-to: 6.12 6.11 6.8
Change-Id: I241422fb801e6649ab991839b47a737dbc398305
Reviewed-by: Wladimir Leuschner <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/2542ae3da1cfa71eb85693d0cbf6cd18db8b915e

Git commit 1f83c2cb3e88dc6926e936be563ec7c5c8554cbb by Oliver Wolff on 14/08/2026 at 12:39..
windeployqt: Fix nt header usage for "mixed deployment" 32 bit targets

mNtHeaders is always host dependent. If the target architecture is
different from the host the deployment might fail. One symptom would be
that windeployqt will not be able to find dependencies of 32 bit
binaries and misdetect them as release builds.

In some of the structures that are used, the member offset is
architecture dependent. For example DataDirectory has an offset of 96
in IMAGE_OPTIONAL_HEADER32 and 112 in IMAGE_OPTIONAL_HEADER64.

The fix is to use the templated function parameters. These are target
architecture dependent and thus contain the right information.

While at it the functions were changed to static functions so that the
breakage of using mNtHeaders cannot be reintroduced by accident.

The remaining usages of mNtHeaders are fine as the offsets that are
obtained there are arch independent or 0.

The patch amends cceae37a137 which introduced the issue.

Pick-to: 6.12 6.11
Change-Id: Icfc81a42c086d73090401d843801d1ae27722a59
Reviewed-by: Wladimir Leuschner <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/1f83c2cb3e88dc6926e936be563ec7c5c8554cbb

Git commit 4d79df0512667fbd5f22651f2e93707e4ea14ce9 by Ivan Solovev on 14/08/2026 at 12:39..
Extend QSFPM::filterRegularExpression docs

Mention that a complex or malformed regular expression can freeze the
application.

Fixes: QTBUG-148254
Pick-to: 6.12
Change-Id: I3347e7a98b814665eb323230e40515c816440090
Reviewed-by: Volker Hilsheimer <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/4d79df0512667fbd5f22651f2e93707e4ea14ce9
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.