[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