[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 2f627140125a0c74441c2d2829403f55928ed298 to 42fbb3b5c3d46423a4e956501cbfce0fb5b641b1 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 6701459a70e1b38dcab064bcced92d47a6dc6da8 by Oliver Wolff (on behalf of Wladimir Leuschner) on 29/07/2026 at 14:57.. QWindows11Style: Honor custom text color in palette for TabBarTabLabel Custom text color set in a palette was not honored in the QWindows11Style for the CE_TabBarTabLabel, this patch checks, if a custom color was set in the palette and uses the custom color instead of the WinUI3 colors. Fixes: QTBUG-148548 Pick-to: 6.12 6.11 Change-Id: Ifacf17217eb4f6b8ad04b59d112069cfd8148659 Reviewed-by: Oliver Wolff <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/6701459a70e1b38dcab064bcced92d47a6dc6da8 Git commit 755c15466ab9fda2c26ce1a7834db4cfc86e3142 by Laszlo Agocs on 29/07/2026 at 14:57.. rhi: Fix out-of-bounds read when loading a corrupt pipeline cache blob The OpenGL and D3D11 backends serialize their own list of entries into the pipeline cache blob and walk it again in setPipelineCacheData(), trusting the entry count and the per-entry length prefixes while validating only the total size. A truncated or crafted blob therefore read past the end of the data, with the over-read bytes ending up in the cache, and with OpenGL also handed to glProgramBinary() later on. Add a bounds-checked reader and use it in both backends, ignoring the blob on the first inconsistency, just like for a version mismatch. Also evaluate the blob size check in 64-bit so that dataOffset + header.dataSize does not overflow on 32 bit archs. That change is relevant for the Vulkan and Metal backends as well. Add some autotests. Pick-to: 6.12 Change-Id: I49a23e76a3b5a1b0c361e690c92e762d74acef6c Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/755c15466ab9fda2c26ce1a7834db4cfc86e3142 Git commit 75b63ca7a139c63d3adfc556f8b619ac9bfeed41 by Laszlo Agocs on 29/07/2026 at 14:57.. rhi: Handle theoretical image size overflows better Calculate with 64 bit integers, where applicable, checking if the result fits into the target (signed or unsigned) 32-bit value. Theoretical for well-formed content since we do not support > 4 GB (sometimes 2 GB) content anyway. Relevant for malformed input, however. Pick-to: 6.12 Change-Id: I5a04979177e2d69a5fada99ee3066fad5d8bfba5 Reviewed-by: Andy Nichols <[email protected]> Reviewed-by: Aurélien Brooke <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/75b63ca7a139c63d3adfc556f8b619ac9bfeed41 Git commit 74001befc56be623681de16a3e09c5f121ab7386 by SanthoshKumar Selvaraj on 29/07/2026 at 14:57.. ohos: Rename convertToOhosAppKitWantInfo to convertToOhosExtrasWantInfo The module rename from QtOhosAppKit to QtHarmonyExtras missed this helper function, leaving "AppKit" reference in the renamed module. Amends patch 9ffa885ca65783e1e4b6b34f39bcae45665d033c. Task-number: QTBUG-148587 Pick-to: 6.12 Change-Id: Ic7d90f3431c7a7edcb1ab6df3251932ec29b3cd8 Reviewed-by: Tor Arne Vestbø <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/74001befc56be623681de16a3e09c5f121ab7386 Git commit dc6d2c96c741e99a3cd28fe23f6b35369885e3a0 by Oliver Wolff (on behalf of Morteza Jamshidi) on 29/07/2026 at 14:57.. Windows QPA: Restore parent cursor after hiding a modal dialog When a widget has a custom cursor (e.g. WaitCursor) and a modal dialog is shown and then closed, the parent widget's cursor is not restored. Fix by calling applyCursor() on the parent's platform window after hiding a modal window. This bypasses the cursor change optimizations that would otherwise skip the update. Fixes: QTBUG-140455 Pick-to: 6.8 6.9 6.10 6.11 6.12 Change-Id: Ib93fe54c6e36bef6b2346434983c525f81b4de7c Reviewed-by: Oliver Wolff <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/dc6d2c96c741e99a3cd28fe23f6b35369885e3a0 Git commit 73378b61dab8d9ddd6069a4a2d3a4c703cd8d26d by Oliver Wolff (on behalf of Morteza Jamshidi) on 29/07/2026 at 14:57.. Windows 11 style: do not round the corners of fullscreen windows A fullscreen window with rounded corners does not cover the whole screen. Set the corner preference to DWMWCP_DEFAULT when a window is fullscreen and round the corners again when it leaves fullscreen. Handle QEvent::WindowStateChange so the corners are also updated when the window state changes after the window is shown. Add an auto test that checks the corner preference of a fullscreen window. Fixes: QTBUG-147453 Pick-to: 6.11 6.12 Change-Id: I6a1fdeafb083b028a5750c6ee89871e0212535b4 Reviewed-by: Oliver Wolff <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/73378b61dab8d9ddd6069a4a2d3a4c703cd8d26d Git commit 679cc6eea2a38121b88776102c222648795960bc by Assam Boudjelthia on 29/07/2026 at 16:54.. AndroidTestRunner: add tst_androidtestrunner A Python orchestrator under tests/auto/util/androidtestrunner/ drives the host androidtestrunner against a testapp on a device. The testapp builds as MANUAL so it is not a ctest entry itself. CommandLineTests exercise the parser without a device: - help and case sensitivity - --apk and --aab conflicts - bare CI -o forms - --verbose - --timeout (killing a hanging adb) - value-taking option at end of argv ("Option --apk requires a value") - manifest fallback discovery, explicit override, and non-existent path - --bundletool path existence check - --activity option is accepted - INSTALL_ROOT scoping to the GNU-make family - --skip-install-root override - missing APK detection - device discovery and serial-pin paths DeviceRunTests run against a real device: - scenario-controlled exits (pass / fail / skip / crash / qFatal) - function and data-tag selection - QT_ and QTEST_ env-var forwarding with spaces - every -o output format - ndk-stack symbolication with default and explicit --ndk-stack, missing path, non-zero exit, and non-executable file - ANR detection - AAB install + run - per-serial QLockFile recovery and concurrent same-serial serialise - --show-logcat - --pre-test-adb-command - SIGINT cleanup The class auto-skips when no device is attached and tearDown uninstalls the testapp. ANR and SIGINT cases poll dumpsys for the foreground focus rather than relying on a fixed sleep, and the concurrent lock test staggers the second runner via a pre-test adb sleep so it is deterministically the one that waits. fake_adb and fake_make context managers back the device-free tests. Pick-to: 6.12 Task-number: QTBUG-146960 Change-Id: I80acd75d232696f9a68bd71a68ae96426446e791 Reviewed-by: Ville Voutilainen <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/679cc6eea2a38121b88776102c222648795960bc Git commit 794dd25f82aad26395b65b8ddc0fd596cbf04fd3 by Edward Welbourne on 29/07/2026 at 16:54.. Align parsing of time-zone long forms with old parser Amends commit 0923c473e20d66e0fb5e12a5fef7683bd979d120 (6.12). I'd failed to notice that the old parser accepted the LocalTime name supplied by the system (from tzname[] or equivalent) for the full-length tttt zone format as well as the generic t format. Tweak the parsing of the old Qt format strings to take that into account. Thanks to Albert Astals Cid for catching this with a KDE test. Pick-to: 6.12 Change-Id: I701addce6ffdf8b0e96e5b90042fe0549d666702 Reviewed-by: Mate Barany <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/794dd25f82aad26395b65b8ddc0fd596cbf04fd3 Git commit e14f178a47fe7c6d3f932d0dce535138718cee45 by Edward Welbourne on 29/07/2026 at 16:54.. Simplify tst_QtParseTimeZone::prefix_data() with another lambda For most zones tested, I'd followed a common pattern that could sensibly be expressed (as Thiago pointed out in review) as a lambda wrapping the zoneTests() one. Pick-to: 6.12 Task-number: QTBUG-77948 Change-Id: I67f4079dbaff70a5558dedf813792820b3b13ce8 Reviewed-by: Mate Barany <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e14f178a47fe7c6d3f932d0dce535138718cee45 Git commit 37bf3f6aa6a9a7404ac27187245907dd0e7f1882 by Edward Welbourne on 29/07/2026 at 16:54.. Replace IANA ID size constraint magic numbers with named constants In the process rename one local variable, and change its start value, to match the semantics of the natural name for its limit. Pick-to: 6.12 Task-number: QTBUG-77948 Change-Id: I4ae1d47b2b0741cd313b8b5d70228082dbf273b3 Reviewed-by: Mate Barany <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/37bf3f6aa6a9a7404ac27187245907dd0e7f1882 Git commit 708074532841fd16291e69eedc016fb106c8d3a6 by Edward Welbourne on 29/07/2026 at 16:54.. Avoid overflow in QJalaliCalendar::dateToJulianDay() If year is close to INT_MIN, subtracting 474 from it will underflow. However, all we need is the quotient and remainder of the result of that subtraction, which we can obtain without overflow by rearranging the arithmetic. Credit to OSS-Fuzz (issue 522858568) for finding it. The computation of c = qDiv<cycleYears>(y); and then subtracting c * cycleYears from y was equivalent to computing qDivMod<cycleYears>(y) and using its quotient and remainder. As y is just year minus an offset, we can qDivMod<cycleYears>(year) directly and then adjust its result by the relevant offset, transfering cycleYears from quotient to remainder first if remainder was too low. Since the quotient's range of possible values is well within that of int (by a factor of cycleYears) its adjustment is in no danger of underflow; and remainder's range is likewise safely in the range from zero to (just before) cycleYears, so safe. Add tests of QDateTime and the new temporal parser based on the fuzzer test-data for the former that found this. The latter made the failure reachable by supporting years with more than 4 digits, and is new in 6.12, so these tests won't work in older versions, but the overflow fix is still valid there. Pick-to: 6.12 6.11 6.8 Fixes: QTBUG-147419 Change-Id: Id9f7ce3d7bfa1b7c671a41fdbe9edcc236f17e58 Reviewed-by: Mate Barany <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/708074532841fd16291e69eedc016fb106c8d3a6 Git commit a286b5cf5dca804983d1cb3dc8281d4f80029fc5 by Marc Mutz (on behalf of Edward Welbourne) on 29/07/2026 at 16:54.. Fix some \deprecated docs to end in sentence-terminators This is in preparation of an upcoming qdoc change that will turn missing terminators into a warning, which would exceed configured warning limits in qtbase. Pick-to: 6.12 6.11 6.8 6.5 Change-Id: Ibdaf2bd617fd24d808956b2322be26b8e1bcda1c Reviewed-by: Marc Mutz <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/a286b5cf5dca804983d1cb3dc8281d4f80029fc5 Git commit d7c6a9211c9c6f13f0b2b464f76367e99bb5a5a2 by Marc Mutz on 29/07/2026 at 17:29.. tst_QMetaType: check QMetaType().isSameType() everywhere The old code only had is as a compile-time only check, guarded by some #ifdefs which are clearly not met on all supported platforms. Add the test also as a runtime test. For platforms where the static_assert is seen, this might be removed as dead code by the optimizer, but we have checked it at compile-time already. And for the others, it will perform the check, albeit at runtime. Amends b339cd0e7a4c4de44f237fec3670ae47b13bbdc2 (dev only). Change-Id: I362a847e4d62cab715df7ad9f53e48b3fdeb187e Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/d7c6a9211c9c6f13f0b2b464f76367e99bb5a5a2 Git commit d5fbc540c9d5186fcaadf376455c0b439c887382 by Marc Mutz on 29/07/2026 at 17:29.. tst_QMetaType: unbreak ubsan build Ubsan builds complained that QMetaType().isSameType<T>() wasn't a constant expression for several types (even in C++2c builds). This is a recurring problem: ubsan seems to insert checks that are not constexpr'able; we have the same issue in tst_QByteArrayView, so apply the same solution: remove the check for ubsan builds. Amends b339cd0e7a4c4de44f237fec3670ae47b13bbdc2 (dev only). Change-Id: I8c61bdeb4f759e42f6da3fef8d265224b379aadb Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/d5fbc540c9d5186fcaadf376455c0b439c887382 Git commit 42fbb3b5c3d46423a4e956501cbfce0fb5b641b1 by Marc Mutz on 29/07/2026 at 17:29.. QLocalTime: remove unneeded narrowing conversion The old code first assigned epoch.remainder (a qint64 variable) to an int variable, just to widen it again to qint64 for the call to secondsAndMillisOverflow(). In particular, it Q_ASSERTed the range _after_ narrowing, so potentially misses actual out-of-range cases. Use auto to avoid the narrowing. Amends b931688a1e52b9e9bdf3144d392e7ee29e8c3ead (6.4), AFACT. Pick-to: 6.12 6.11 6.8 6.5 Change-Id: I582a0b557723b0f8d98868d6b26180d9c5407589 Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/42fbb3b5c3d46423a4e956501cbfce0fb5b641b1