[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 e11386eb734ff8243645f80f8c482253286c46be to 977c57315ac5cd1d943163f5900cdd0e6bf42985
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 dd4484f8dadb4d17db0f1e9bc6bd3d9f32d6c39f by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 18/08/2026 at 06:09..
rhi: d3d12: Discard the mip levels before generating them

The subresources of a placed resource must be initialized with a
Discard, Clear, or Copy operation before they can be used for anything
else. The mipmap generators write the levels above 0 via unordered
access views, which is none of those, so sampling a texture that has
both the render target and the generate mipmaps flags set makes the
debug layer complain with

"Placed resources, reserved resources, or committed resources with
D3D12_HEAP_FLAG_CREATE_NOT_ZEROED flag with either render target or
depth stencil flags must be initialized with a Discard/Clear/Copy
operations before other operations are supported. ..."

This was visible e.g. in the qcrhiplumbing autotest of Qt Canvas
Painter, with one message for each mip level of the offscreen canvas
texture. A Qt Quick item with layer.enabled and layer.mipmap set hits it
as well.

Fix it by discarding the levels above 0 upfront, once for each. Level 0
is left alone, its contents have to be preserved.

The bit array tracking this is now shared with the resolve destination
discarding added in c13fd99f923c90c28e8cea23719bce119dd13fab, since both
track whether a subresource has been initialized, and the two sets can
overlap.

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

Git commit 7f823e503fa47ffab3e0a72b59fa54fa9f07386c by Qt Cherry-pick Bot (on behalf of Laszlo Agocs) on 18/08/2026 at 06:09..
rhi: d3d12: Filter out the depth-stencil clear value mismatch warning

The optimized clear value of depth-stencil buffers and textures is
always depth 1.0 and stencil 0, whereas the value the render pass clears
to is up to the application. When they differ, the debug layer says
"ID3D12CommandList::ClearDepthStencilView: The clear values do not match
those passed to resource creation. ..."

This was visible e.g. in the qcrhiplumbing autotest of Qt Canvas
Painter, which clears depth to 0 (not 1) in order to test depth testing.

There is no way of knowing the clear value upfront, which is why the
color counterpart of this message is already suppressed. Do the same for
the depth-stencil one.

Change-Id: Ifc11425642cabec8a1f4a3200a2e87e7495c4494
Reviewed-by: Andy Nichols <[email protected]>
(cherry picked from commit 611b94ccb9734d729e8005ff3f91d2d65e0c711d)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/7f823e503fa47ffab3e0a72b59fa54fa9f07386c

Git commit e503649871a430f7c7543dc402ba32fb7ff5a591 by Qt Cherry-pick Bot (on behalf of Thiago Macieira) on 18/08/2026 at 08:23..
QLockFilePrivate: use NSDMI for the handle variables

Amends 779bdf481ca208c20cfabd02d02d74175b0624b9, which left it behind
because the Windows build was failing

Change-Id: I8aaf58bdb2d2441bad2efffdd061f8725ec4b42d
Reviewed-by: David Faure <[email protected]>
(cherry picked from commit 8c80a01b66e6060f4622e646deee8c105960228c)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/e503649871a430f7c7543dc402ba32fb7ff5a591

Git commit 251f05c7104703980baf2930cefcbb45e1a07d75 by Qt Cherry-pick Bot (on behalf of Thiago Macieira) on 18/08/2026 at 08:23..
QLockFile/Unix: don't complain about removing a lock already gone

If the errno on unlink() is ENOENT, the file was already removed. That's
a problem because something bypassed our lock protocol, but it's not a
permission issue. Let it go.

If it's ENOTDIR, then the directory hierarchy changed in an unexpected
manner. That's also a problem but nothing we should warn about.

Task-number: QTBUG-148845
Pick-to: 6.11 6.8
Change-Id: I0e96e8372621e4750ad2fffd7153e2d00dd2ddab
Reviewed-by: David Faure <[email protected]>
(cherry picked from commit 0caff71cf58ae2b79340857a942c537f29c7f750)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/251f05c7104703980baf2930cefcbb45e1a07d75

Git commit d62a5abf3625fbd075633018bb3e6c2c0af5127c by Qt Cherry-pick Bot (on behalf of Thiago Macieira) on 18/08/2026 at 08:23..
QLockFile/Unix: let removeStaleLock() claim credit for lock being gone

The point of this function is to remove a stale lock, so if it's already
gone by the time we try to open it, claim credit. The difference will be
in tryLock() whether we wait a bit or retry the lock file immediately.

If the apparently-stale lock was removed by its legitimate holder, this
speeds up the lock acquisition for us. If the apparently-stale lock was
removed by another thread/process also attempting to lock, we will race
it to create the lock: one of them will succeeed at creating with O_EXCL
and the other will get EEXIST. In most scenarios, isApparentlyStale()
will then be false, because the file's mtime has just got updated.

Pick-to: 6.11 6.8
Task-number: QTBUG-148845
Task-number: QTBUG-149130
Change-Id: I2d8d9028e5d6819fbe1efffd62898f07b66a008b
Reviewed-by: David Faure <[email protected]>
(cherry picked from commit 50bd05b6a0b71b0d8dd58369dc6a178878ee7e01)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/d62a5abf3625fbd075633018bb3e6c2c0af5127c

Git commit bb6b4710d96404d7b7f4da5b912a2e14958ef145 by Qt Cherry-pick Bot (on behalf of Thiago Macieira) on 18/08/2026 at 08:23..
QLockFile/Doc: remove stale information about non-US-ASCII hostnames

Amends commit 4dca0cba304d18d19ec54df7dac719799279bc18, which
inadvertedly fixed this. The issue was that the original Windows
implementation did:

static inline QByteArray localHostName()
{
    return qgetenv("COMPUTERNAME");
}

Which obtained the hostname encoded in the Windows ANSI codepage (and
potentially corrupted it). That was before qEnvironmentVariable().

Task-number: QTBUG-49640
Pick-to: 6.11 6.8 5.15
Change-Id: Ifb9d134aabe5cffd0121fffdfdb360702a8dbd50
Reviewed-by: David Faure <[email protected]>
(cherry picked from commit 2b1f2228fa391374d92235d20cae8280c5b2d8a8)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/bb6b4710d96404d7b7f4da5b912a2e14958ef145

Git commit 9bdb86354dc5b4fdce6e47abcebeee82f94a534f by Qt Cherry-pick Bot (on behalf of Thierry Bastian) on 18/08/2026 at 12:40..
Fix build with MSVC2022 17.14.19

When building it errors out with:
C:/gitlab/qt/qtbase/src/gui/text/qcssparser.cpp(121): error C2872: 'Font': ambiguous symbol
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include\comdef.h(489): note: could be 'Font'

Because comdef.h has a Font class.

Fixes: QTBUG-141755
Fixes: QTBUG-146146
Pick-to: 6.11 6.8
Change-Id: I7d86ee8bd367c120cf32d5c8142a2aaebef347cd
Reviewed-by: Marc Mutz <[email protected]>
(cherry picked from commit ba310cbdda05af7ec771e5ed1631d29dd809a334)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/9bdb86354dc5b4fdce6e47abcebeee82f94a534f

Git commit b948a635c81e860156d8cfbc186d149343f345a5 by Qt Cherry-pick Bot (on behalf of Andy Nichols) on 18/08/2026 at 12:40..
harmonydeployqt: Require the process feature

Fixes: QTBUG-148766
Change-Id: Ie32196a43bd43b56a1858be52f5a18f7b4d2c676
Reviewed-by: Marc Mutz <[email protected]>
(cherry picked from commit 2807d01bcdff17cd43e381a0dfe504dcbba7dbde)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/b948a635c81e860156d8cfbc186d149343f345a5

Git commit 592efda74ffbcde0896c600f408aa1681a599600 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 12:40..
QWindowsOleEnumFmtEtc::copyFormatEtc: fix DVTARGETDEVICE copy

Several bugs in the ptd copy path: the return value of IMalloc::Alloc()
was discarded, leaving dest->ptd as a shallow copy of src->ptd and the
new allocation leaked; and tdSize from external OLE data was used
without checking it is at least sizeof(DVTARGETDEVICE), which could
allow a memcpy into a too-small allocation.

copyFormatEtc() also left dest->ptd aliasing src->ptd whenever it
returned false, since the struct is copied wholesale before the ptd
handling runs. QWindowsOleEnumFmtEtc::Next() ignored that return value,
so on failure it handed a FORMATETC with an aliased ptd to external OLE
clients, which then free()'d the same pointer QWindowsOleEnumFmtEtc
frees again in its destructor, causing a double free/use-after-free.
Null out dest->ptd on every failure path and make Next() check the
return value and abort the enumeration with E_OUTOFMEMORY instead.

Task-number: QTBUG-148512
Pick-to: 6.11 6.8
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Change-Id: I6377c1f48ea43f4cc06dec866368e0f9711dd735
Reviewed-by: Wladimir Leuschner <[email protected]>
Reviewed-by: Morteza Jamshidi <[email protected]>
(cherry picked from commit 140420ed9246b5f5372cdcf5f756517156fd0d97)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/592efda74ffbcde0896c600f408aa1681a599600

Git commit 977c57315ac5cd1d943163f5900cdd0e6bf42985 by Qt Cherry-pick Bot (on behalf of Oliver Wolff) on 18/08/2026 at 12:40..
QWindowsOleDataObject::SetData: validate buffer before reading HGLOBAL

GlobalLock() can return nullptr for an invalid handle, and the buffer
from an external OLE source may be smaller than sizeof(DWORD). Validate
the allocation size first and treat a failed lock as a no-op to avoid a
null pointer dereference.

Task-number: QTBUG-148512
Pick-to: 6.11 6.8
Change-Id: I90b066b021ffc6d69c2e5067a7951925119226ae
Reviewed-by: Morteza Jamshidi <[email protected]>
Reviewed-by: Wladimir Leuschner <[email protected]>
(cherry picked from commit 804bd720494c2aeed6155b017eeae6ccb0e8adf2)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/977c57315ac5cd1d943163f5900cdd0e6bf42985
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.