[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.11'.
Changed from 4c0a34ae01f8370e548fd69d0d4400afda4aba9a to 056275224e2648a37a5527ca141f6912646d4645
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 0fce516a3ebc6db30ff729ac37272d9e8708afb8 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 06:03..
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.

Change-Id: Icfc81a42c086d73090401d843801d1ae27722a59
Reviewed-by: Wladimir Leuschner <[email protected]>
(cherry picked from commit 1f83c2cb3e88dc6926e936be563ec7c5c8554cbb)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit d781a11d5f2794cdec00ebb7b5f41c493190bb3e)
https://invent.kde.org/qt/qt/qtbase/-/commit/0fce516a3ebc6db30ff729ac37272d9e8708afb8

Git commit f71dfbdda6f72ebc2ec5773d526f05a022b1dd34 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 06:03..
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.8
Change-Id: I4eac19b4f6c288dc7edf7027d3544072433fc4f0
Reviewed-by: Wladimir Leuschner <[email protected]>
(cherry picked from commit c82490f04f29b67df0e3c4dad7c79ecbc1e68475)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 04736a57c70836ede42685970ed4b64a216c0ab9)
https://invent.kde.org/qt/qt/qtbase/-/commit/f71dfbdda6f72ebc2ec5773d526f05a022b1dd34

Git commit beac62fd594f9e3b0a51e77aae8280ee31137ad6 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 06:03..
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.8
Change-Id: I241422fb801e6649ab991839b47a737dbc398305
Reviewed-by: Wladimir Leuschner <[email protected]>
(cherry picked from commit 2542ae3da1cfa71eb85693d0cbf6cd18db8b915e)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 8d17921adb6139709c4cc3fb757eaf418c8364e5)
https://invent.kde.org/qt/qt/qtbase/-/commit/beac62fd594f9e3b0a51e77aae8280ee31137ad6

Git commit 056275224e2648a37a5527ca141f6912646d4645 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 06:03..
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.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]>
(cherry picked from commit 8bcd3fd0658e95b2ad321dec4ff18735bcda31ff)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
(cherry picked from commit 382fa8f8bfe9f57a39b1da00e444c57e6f772c93)
https://invent.kde.org/qt/qt/qtbase/-/commit/056275224e2648a37a5527ca141f6912646d4645
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.