[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 cb00c5e3b9f849e3e7a59404bd8b633650427a99 to 139a7047a60df72ce8b5d89e3c66d0c710bbdf8e 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 b0b45eb9af80daff5a4a21f964f382863d149c1c by Edward Welbourne on 21/07/2026 at 08:01.. Search a bit harder for zones matching a long name when none match A new update to Darwin retains enough support for CST6CDT (a legacy abbreviation name; IANA is moving away from support for these) to let us instantiate a QTimeZone from its name, but no zone named in the NSTimeZone.knownTimeZoneNames list we use for availableTimeZoneIds() gets the same generic es-MX name as it so we didn't parse it back from its long-form name in a time-zone suffix of a timestamp. However, it is an alias we know from our CLDR data, so searching the alias table for names that do get accepted by the constructor (even though not officially available) has a chance to match what its "available" form might not (in this case, because the generic long name included the alias ID in parentheses after the es-MX name). Restructure QTimeZonePrivate::findLongNamePrefix()'s brute force implementation's loop over available IDs to make most of the loop body a lambda called from the loop, so that it can now be called from a loop over the alias table's entries. Use a duplicate tracker to avoid repeating that for the IDs we've already seen from the available list. Pick-to: 6.12 Fixes: QTBUG-148397 Change-Id: I386544562b22a18b6622d3f66b803e05e5d200b1 Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b0b45eb9af80daff5a4a21f964f382863d149c1c Git commit 4e5927ec7cc5d0aa66ad2ecd54ceb23f2f61494e by Luqiao Chen on 21/07/2026 at 13:13.. QStyle: fix drawItemPixmap() source rect offset at DPR != 1 QStyle::drawItemPixmap() built the QPainter::drawPixmap() source rectangle with a device-independent (logical) top-left offset but a device (physical) width and height, the latter scaled by the pixmap's device pixel ratio. All four values describe a single rectangle sampled from the pixmap, so they must share the same coordinate space. When the device pixel ratio is not 1, the un-scaled offset addresses the wrong pixels. An aligned pixmap larger than the target rectangle is then sampled from the wrong location: e.g. a bottom-left aligned 100x200 pixmap in a 100x100 QLabel shows part of the top (clipped) half and drops the bottom edge, instead of showing the bottom half exactly. Scale the source offset by the device pixel ratio too, matching the width and height, and build the whole source rectangle in a named local variable so the device-pixel coordinate handling is explicit. Fixes: QTBUG-148076 Pick-to: 6.11 6.12 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Change-Id: Id4fe45cae72f0edcc8a51e5aa74293d4478a6c61 Reviewed-by: Morten Johan Sørvig <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/4e5927ec7cc5d0aa66ad2ecd54ceb23f2f61494e Git commit cc0b18a07d11f7b930546f8b927793c39d9bb6d1 by Dawid Śliwa on 21/07/2026 at 13:25.. harmonyostestrunner: quote appArgsJson for the device shell The io.qt.appArgsJson value was passed to aa start as a bare JSON token. hdc forwards argv to a device-side shell that strips unquoted double quotes, so ["foo"] arrived as [foo] and the ability rejected it with "input is not valid JSON string", aborting every run that forwarded test arguments. Single-quote the JSON (POSIX-escaping any embedded quote) so its double quotes survive the relay. Task-number: QTBUG-148423 Pick-to: 6.12 Change-Id: I85aea21b0e083f07c824d1e7f7caec0824d2361a Reviewed-by: Andy Nichols <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/cc0b18a07d11f7b930546f8b927793c39d9bb6d1 Git commit 5b9849c62c8336ea75954d16544478acd022d267 by Edward Welbourne on 21/07/2026 at 13:25.. Guard against overflow in QJalaliCalendar::isLeapYear() In case year is large enough that multiplying by 683 may overflow, first reduce it mod 2820 before doing the arithmetic whose result will again be reduced mod that. Credit to OSS-Fuzz (issue 522989107) for spotting the problem. Add test cases for temporal parser and QDateTime based on the fuzzer test-case for the latter that caught it. These tests shall only work from 6.12, as older versions could not parse years with more than four digits. Pick-to: 6.12 6.11 6.8 Fixes: QTBUG-147418 Change-Id: Ife1ec2dbf991596ffd2a51a5f6221b94ff5affad Reviewed-by: Mate Barany <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/5b9849c62c8336ea75954d16544478acd022d267 Git commit cc8e548f1cabf4362eba1b0dba22b25b161b788e by Edward Welbourne on 21/07/2026 at 13:25.. Fix misguided use of gcc-specific typeof() operator Make receive the QList<QBA>::iterator result of std::partition into a const_iterator to save the need to cast it to that type when using it. Pick-to: 6.12 Fixes: QTBUG-147648 Change-Id: I568ee15042597c7f7c1d65504ef2e927e35b5da1 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Mårten Nordheim <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/cc8e548f1cabf4362eba1b0dba22b25b161b788e Git commit 5563df5a8504b06cc8b6b51d8a24fd195ec4acc8 by Edward Welbourne on 21/07/2026 at 13:25.. Fix serialization of dates to put a sign on >4-digit years Various standards allow a year with more than four digits but insist on a sign if it's beyond some length to be agreed between the parties using the format for exchange of data; this ends up being 4 in practice, which is assumed by the new temporal data parser. Serialization's neglect of this previously went unnoticed because the old parser rejected years with more than 4 digits, regardless of sign. Added some test-cases for round-tripping of dates at the ends of the range QDateTime can represent (albeit QDate can represent more). Discovered by new benchmarks provided by Vadim Vysokoostrovskiy. Pick-to: 6.12 6.11 6.8 Task-number: QTBUG-77948 Change-Id: I3081b6c5eef1c13155113e2c557caf9ae1c311b9 Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/5563df5a8504b06cc8b6b51d8a24fd195ec4acc8 Git commit ff0484ab0f023be8ef05568a513b2d0079a4f2c3 by Edward Welbourne on 21/07/2026 at 13:25.. Correct the bound on year width without sign when parsing dates Amends commit 1d2f834985373e31f097971830547c56453d21b3 (6.12). If a year has up to four digits it only needs a sign if it's negative. Officially, the parties using the format to communicate dates can agree any higher limit to how many digits they accept in a year before needing a sign, but four is the common lower bound so always allow it. A field width, when specified, can only increase beyond that. Previously a field width could drop the limit below four, which was not the intent. Discovered while investigating round-tripping of dates with large positive years (serialization was neglecting sign). Pick-to: 6.12 Task-number: QTBUG-77948 Change-Id: I8af72a996abdd8b1bf38a03fdfbba10f94eacc37 Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/ff0484ab0f023be8ef05568a513b2d0079a4f2c3 Git commit 0214f2ac71777093eb50320732eb09aafdf836b0 by Edward Welbourne on 21/07/2026 at 13:25.. Allow IANA ID matching to go down to three letters This was previously only allowed for GMT, but IANA does include a few other three-letter abbreviations as (legacy) names for zones. UTC should be picked up by an offset form before we get to the IANA ID check, when offset forms are allowed for at all. Pick-to: 6.12 Fixes: QTBUG-148356 Change-Id: I285275ec9c6492af8cc01c1add0383f512d3d4a4 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Lars Schmertmann <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/0214f2ac71777093eb50320732eb09aafdf836b0 Git commit 1cc40d3553eb7d7d42284266a4d8261c5e2e6cf4 by Edward Welbourne on 21/07/2026 at 13:25.. Update our copy of FFTW's cycle counter to 3.3.11 FFTW has released a new version, with support for a couple more platforms. Update the cycle-counter Qt's benchmarking uses from that. [ChangeLog][QtTest][Third-Party Code] QtTest's benchmarks now use the cycle-counter code from FFTW version 3.3.11. This adds support for LoongArch and RISC-V. Pick-to: 6.12 6.11 6.8 Task-number: QTBUG-146335 Change-Id: I325c71411d07e19fe4f87d3f1b746c76e10902f4 Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Ivan Solovev <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/1cc40d3553eb7d7d42284266a4d8261c5e2e6cf4 Git commit e03d56ad27b12dda0b95954b51c3ffd905183bd0 by Edward Welbourne on 21/07/2026 at 13:25.. Add patch-file for the wrapper check Aments commit 39ab9e00415ed0f4d77daded079b262a8353328d (6.10) to include a patch file that those updating the third-party cycle header can use to bring a new version in sync with this local change. Pick-to: 6.12 6.11 Task-number: QTBUG-132900 Task-number: QTBUG-146335 Change-Id: I247a340c7a54225b3f109b6937af36056eee9fdc Reviewed-by: Mårten Nordheim <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e03d56ad27b12dda0b95954b51c3ffd905183bd0 Git commit 12b81b4ab38ef3e2cbafb2e9b40bacaf126a1674 by SanthoshKumar Selvaraj on 21/07/2026 at 14:54.. ohos: Rename Q_OS_OHOS to Q_OS_HARMONY The platform macro Q_OS_OHOS is renamed to Q_OS_HARMONY for consistency with the "Harmony" naming in the HarmonyOS platform support. Update the same in corelib, gui, network, plugins, testlib, widgets, and their autotests. Pick-to: 6.12 Change-Id: I866e477d610a2b54856113b1bb4c8ee6415dd5b9 Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/12b81b4ab38ef3e2cbafb2e9b40bacaf126a1674 Git commit 3d1ad65b0e420a3f140a10e451cc5dbcc1f3f11e by Ivan Solovev (on behalf of Vadim Vysokoostrovskiy) on 21/07/2026 at 14:54.. Extend QLocale::toTime() benchmark for Chakma Not picking to 6.11, because the old parser does not support it. Pick-to: 6.12 Change-Id: I1f1b27f4b373e0f8b0bccaec5585515e6e6e742b Reviewed-by: Edward Welbourne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/3d1ad65b0e420a3f140a10e451cc5dbcc1f3f11e Git commit 0b39ef895952ede8e828bf55aaf52d37d30820b7 by Ivan Solovev (on behalf of Vadim Vysokoostrovskiy) on 21/07/2026 at 14:54.. Extend QLocale::toDate() benchmark for Chakma Not picking to 6.11, because the old parser does not support it. Pick-to: 6.12 Change-Id: I494e4731393528cdecbbdf6a9c8ebfaa28526d4c Reviewed-by: Edward Welbourne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/0b39ef895952ede8e828bf55aaf52d37d30820b7 Git commit 8cfa9e0fb500359e63ed930c71e6fcadeda192e3 by Ivan Solovev (on behalf of Vadim Vysokoostrovskiy) on 21/07/2026 at 14:54.. Add QLocale::toDateTime() benchmarks The benchmarks check Gregorian, Jalali, and IslamicCivil calendars with C and de-DE locales. All possible format specifiers are used at least once. Pick-to: 6.12 6.11 Change-Id: I65d822ba2de1ae23bf2a6202057d6ed3267ab8fc Reviewed-by: Edward Welbourne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8cfa9e0fb500359e63ed930c71e6fcadeda192e3 Git commit 3607b8bc1d07dabb79e5324f6ac5c3c5e11593d3 by Ivan Solovev (on behalf of Vadim Vysokoostrovskiy) on 21/07/2026 at 14:54.. Extend QLocale::toDateTime() benchmarks for Chakma Not picking to 6.11, because the old parser does not support it. Pick-to: 6.12 Change-Id: I030adce240bcdac2321fbdb5e7e08fd0bedcca24 Reviewed-by: Edward Welbourne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/3607b8bc1d07dabb79e5324f6ac5c3c5e11593d3 Git commit 072eadc6fd281744160d97540913f4117e93ebc3 by Edward Welbourne (on behalf of Vadim Vysokoostrovskiy) on 21/07/2026 at 14:54.. Add QLocale::toTimeFormat() benchmark Benchmark the overload that takes FormatType enum instead of a format string. Pick-to: 6.12 6.11 Change-Id: I7d7d5b3578b229d14da4526e918ae2c8310107ea Reviewed-by: Edward Welbourne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/072eadc6fd281744160d97540913f4117e93ebc3 Git commit 84c1b50a342a6665d1096487aea1ed3122fa61cc by Alexandru Croitor on 21/07/2026 at 16:52.. CMake: Split SBOM build tools from system build tools We need a way to distinguish which build tools are built as part of the project, and which build tools are pre-built and found in the system. This will affect whether the build tool is CONTAINed by the project in the spdx relationships of the document / tool. Add a new SYSTEM_BUILD_TOOL entity type to mark tools found in the system Rename _qt_internal_sbom_add_project_default_build_tools to _qt_internal_sbom_add_project_default_system_build_tools and other such functions to refer to system build tools. The will now create SYSTEM_BUILD_TOOL entries because CMake, the compiler, and the linker are all pre-built tools found in the system. The old BUILD_TOOL entity can now be used with regular executable targets. Pick-to: 6.8 6.11 6.12 Change-Id: I1769dd76264e4842d6a6f00ba0f9073ecaeeb1f7 Reviewed-by: Joerg Bornemann <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/84c1b50a342a6665d1096487aea1ed3122fa61cc Git commit cb86a0d7d46fc30e831cf525a1b82552584ec5ad by Alexandru Croitor on 21/07/2026 at 16:52.. CMake: Modify "project contains" SPDX relationship behavior Previously the build system always added a "project package CONTAINS target package" SPDX relationship to all defined sbom targets. Skip adding this relationship for system libraries and system build tools because the project SPDX package does not really contain those binaries. Also add an option to opt out for other targets. Add tests. Pick-to: 6.8 6.11 6.12 Change-Id: I24b184a98f9b89c6e69713511f05a7d0b45d44c0 Reviewed-by: Joerg Bornemann <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/cb86a0d7d46fc30e831cf525a1b82552584ec5ad Git commit 34523a5d7a90ca2c4a117766381b88986d01fd28 by Volker Hilsheimer (on behalf of Marc Mutz) on 21/07/2026 at 16:52.. QAccessible*Interface: disable copying These are polymorphic classes, so they shouldn't be copied (which invites slicing), so disable copy and move SMFs in the base classes for implementations to inherit the safe default. [ChangeLog][QtGui][Potentially Source-Incompatible Changes] The QAccessible*Interface classes were made uncopyable. As polymorphic types, they shouldn't be. Found in API-review for QAccessibleViewportInterface, but applying to all others, too, to avoid c'n'p propagation of missing Q_DISABLE_COPY_MOVE going forward. Pick-to: 6.12 Task-number: QTBUG-146286 Change-Id: I661000eb067851544fb8b3b59cd3321c538563fe Reviewed-by: Volker Hilsheimer <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/34523a5d7a90ca2c4a117766381b88986d01fd28 Git commit 139a7047a60df72ce8b5d89e3c66d0c710bbdf8e by Friedemann Kleint on 21/07/2026 at 17:39.. Qt Widgets Designer Documentation: Use "Qt Widgets Designer" consistently Pick-to: 6.12 Task-number: QTBUG-148146 Change-Id: I9f90f02f67ae0076225ac0a9bf86c04136f05c8b Reviewed-by: Kai Köhne <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/139a7047a60df72ce8b5d89e3c66d0c710bbdf8e