[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 4024c82deee51d0881297ad0d3375e80965a764e to b2b4258a42567f4a4f2bec950c3e01623a97a5df 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 1b66e0537c315d068e7ca3f88bbc4620811c5e01 by Marc Mutz on 23/07/2026 at 21:10.. Remove QT_NO_FOREACH from individual CMakeLists.txt's The macro is centrally defined for all Qt code since 11d69325605071a32d10ed4392c67e9a07445ada (6.7). Pick-to: 6.12 6.11 6.8 Change-Id: I9526ef5e31fcc33ff525d86a5c96ac29aff30171 Reviewed-by: Volker Hilsheimer <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/1b66e0537c315d068e7ca3f88bbc4620811c5e01 Git commit 71f37d7cc8fe679b565b13e5b2b13aa31f58fa5b by SanthoshKumar Selvaraj on 24/07/2026 at 01:10.. Add "harmonyos" blacklist keyword for the qt testlib Allow BLACKLIST files to disable test functions specifically for HarmonyOS using the keyword "harmonyos" (guarded with the condition Q_OS_HARMONY). Update qwindow and qrhi BLACKLIST files to use "harmonyos" instead of "ohos". Pick-to: 6.12 Change-Id: Id77d5f1b1008548044ffa31a539d1a2808435662 Reviewed-by: Axel Spoerl <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/71f37d7cc8fe679b565b13e5b2b13aa31f58fa5b Git commit 76da94d9f53cf1f0f4be370e94c70390abbd825b by SanthoshKumar Selvaraj on 24/07/2026 at 01:10.. ohos: Rename QOperatingSystemVersionBase::OSType::OHOS to HarmonyOS Rename the `OHOS` OSType enumerator to `HarmonyOS` to be consistent with naming guidelines: https://wiki.qt.io/API_Design_Principles#General_Naming_Rules Pick-to: 6.12 Change-Id: I55c3ffeb648b7400df03e45bf13b15679be4cf19 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/76da94d9f53cf1f0f4be370e94c70390abbd825b Git commit f022d8577882752f7f1da740b96a09eab31c4e4f by SanthoshKumar Selvaraj on 24/07/2026 at 01:10.. ohos: Report "harmonyos" from QSysInfo::productType() Align QSysInfo::productType() with the OSType::HarmonyOS rename from by returning "harmonyos" instead of the legacy "ohos" string. Pick-to: 6.12 Change-Id: If459b7fed66ccf180b9f030d2aff268c7f411ae3 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/f022d8577882752f7f1da740b96a09eab31c4e4f Git commit d34be6495b64f8286235783c250853f8fb72e780 by SanthoshKumar Selvaraj on 24/07/2026 at 01:10.. ohos: Fix remaining OHOS references after HarmonyOS enum rename For HarmonyOS, the OSType renamed to OSType::HarmonyOS and this needs to be reflected in the doc comment and the name() switch case in qoperatingsystemversion.cpp. Update the \value documentation and the string returned by name() to match the new enumerator name. Pick-to: 6.12 Change-Id: I49b28a774e47771a364c0cd348d4ad35c6ad853c Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/d34be6495b64f8286235783c250853f8fb72e780 Git commit 62b4a6f81130de66ce4c448722b74c58300bae19 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: rename priv names clashing with API The external OhosAppKit API is about to drop its redundant QOhos prefix (it already lives in the QtOhosAppKit namespace). That renames external types to WantInfo, WindowCreateParams and StartOptions, each of which already names a private implementation detail in the same module. Keep every type name unique across the module, even across nested namespaces, by renaming the private ones first: - detail: WantInfo => WantInfoPriv - QOhosStartOptionsData: WindowCreateParams => WindowCreateParamsPriv - qohosabilitycontext.cpp: local StartOptions alias => OptionsData No API or behavior change. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: If48d7e9b4ca772d22db0a01ad6b69837cdc44228 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/62b4a6f81130de66ce4c448722b74c58300bae19 Git commit b330c0e21616e0c4f1350159ed280d5715b70755 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: drop redundant QOhos prefix in API The external API lives in the QtOhosAppKit namespace, so the QOhos prefix on its types just repeats the enclosing namespace. The sibling sub-namespaces (ShareKit, FileShare, Window) already use unprefixed type names; align the top-level types with them. Drop the QOhos prefix from the external types: - QOhosAbilityContext => AbilityContext - QOhosOnContinueContext => OnContinueContext - QOhosOpenLinkOptions => OpenLinkOptions - QOhosStartAbilityResult => StartAbilityResult - QOhosAppContext => AppContext - QOhosBundleInfo => BundleInfo - QOhosElementName => ElementName - QOhosOperationStatus => OperationStatus - QOhosStartOptions => StartOptions - QOhosWindowCreateParams => WindowCreateParams - QOhosWant => Want - QOhosWantInfo => WantInfo - QOhosWantFlag / QOhosWantFlags => WantFlag / WantFlags - namespace QOhosPasteboard => Pasteboard The private implementation classes (QOhos*Impl, QOhosStartOptionsData and friends) keep their names; they are left for a separate cleanup. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I2a3f36fcb3744eb5bf5c4e54458948a228bfc4a1 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b330c0e21616e0c4f1350159ed280d5715b70755 Git commit b9da677defaa261360382d265f2ae1ffdf84c557 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: fix OperationModes flag registration Q_FLAG_NS registers a flags type with the FileShare namespace meta-object, but it is given the OperationMode enum instead of the OperationModes QFlags typedef, and it precedes Q_DECLARE_FLAGS. As a result the OperationModes flags type is never registered; the plain enum is registered (and marked as a flag) instead. It compiles because nothing yet queries the type through QMetaEnum, so the broken reflection is silent. Declare the flags first, then register the plural typedef; the underlying OperationMode enum is registered along with it. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I6cae35338059fda836376cabc3110171d6aaf00d Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b9da677defaa261360382d265f2ae1ffdf84c557 Git commit 59b60f8805e17d2d1def1dfa7148a353864193e6 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: make parameter passing consistent The external API passes most value-type parameters uniformly, but a few diverge from the convention used everywhere else. Take read-only value parameters by const reference: startNoUiChildProcess() took QString and QStringList by value, unlike every other read-only value and container parameter in the API. Take small geometric types by value: the two setAnchor() overloads took QPoint and QRect by const reference, against the Qt convention for such types; change both together so they stay consistent. Callback (std::function) parameters are left by value, as they are consumer parameters rather than read-only inputs. No API or behavior change. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I098cc253d92767316ef2367211aa8825b290da77 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/59b60f8805e17d2d1def1dfa7148a353864193e6 Git commit 98cee3c93dde5419f4e114e32d617db399422c2a by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: return optional, not QSharedPointer Several external API members returned a copyable value type wrapped in a QSharedPointer purely to express "may be absent". std::optional expresses that directly, drops a heap allocation, and matches the private layer, which already returns std::optional. Return std::optional instead of QSharedPointer for: - WantInfo::tryGetContactInfo(): ContactInfo - WantInfo::tryGetSharedRecordsFromShareKit(): the QList (the inner QSharedPointer<SharedRecord> stays, as SharedRecord is abstract) - tryGetOnContinueData(): QByteArray - StartAbilityResult::want: Want Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I23740b199e0ef0f7aaf05aa3c9546f725c35d15c Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/98cee3c93dde5419f4e114e32d617db399422c2a Git commit c034c53c6da313dde37944b453b30259971b607c by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: use UpperCamelCase enum values The enumerators in the StartOptions and WindowCreateParams enums used ALL_CAPS_WITH_UNDERSCORES and repeated the enum-name/scope prefix, unlike every other enum in the external API, which already uses UpperCamelCase. Rename the enumerators to UpperCamelCase without the redundant prefix: - AnimationType: FADE_IN_OUT => FadeInOut - ProcessMode: NEW_PROCESS_ATTACH_TO_PARENT => NewProcessAttachToParent, NEW_PROCESS_ATTACH_TO_STATUS_BAR_ITEM => NewProcessAttachToStatusBarItem - StartupVisibility: STARTUP_HIDE => Hide, STARTUP_SHOW => Show - WindowMode: WINDOW_MODE_SPLIT_PRIMARY => SplitPrimary, WINDOW_MODE_SPLIT_SECONDARY => SplitSecondary, WINDOW_MODE_FULLSCREEN => Fullscreen - SupportWindowMode: FULL_SCREEN => FullScreen, SPLIT => Split, FLOATING => Floating ProcessMode keeps the NewProcess distinction, since the underlying OHOS enum also has a separate ATTACH_TO_STATUS_BAR_ITEM value. The private QOhosStartOptionsData enums and the OHOS SDK constants keep their names. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: Ic9b4eebb3cbab58316339bd64b16e7ffdd85634e Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/c034c53c6da313dde37944b453b30259971b607c Git commit f014470aadabaf29c52e1f569e69a359fcb81d82 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: use std::shared_ptr, not QSharedPointer QSharedPointer is discouraged in new code in favour of std::shared_ptr. Convert the shared pointers exposed by the external API accordingly. Change every public-type QSharedPointer to std::shared_ptr across the API headers and their implementations: returns, parameters, the two AbilityContext signal payloads, and the factory returns. The associated idioms follow: QSharedPointer<X>::create() becomes std::make_shared<X>(), qSharedPointerCast becomes std::static_pointer_cast, an isNull() check becomes a plain bool test, and the QSharedPointer<QObject> metatype registration is updated. Public headers drop qsharedpointer.h in favour of <memory>. The internal detail::WantInfoPriv (and its implementation) still use QSharedPointer; converting them is left for a separate cleanup. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: Ie25dc47f7d1541c3724cf25d8d18867db9ad310a Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/f014470aadabaf29c52e1f569e69a359fcb81d82 Git commit 7ec935b5478a962124599bcf4c08c3f1c646cdba by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: drop unused ElementName metatype ElementName was the only public data struct with a Q_DECLARE_METATYPE, yet nothing uses the metatype: it is never stored in a QVariant, sent through a queued connection, or exposed via reflection (it is not a Q_GADGET). It only appears as a by-value parameter of the setCompletionHandler callback, which is a direct std::function call. Remove the Q_DECLARE_METATYPE and the now-unused qmetatype.h include. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I5fadce4943fc090595e09a2715e9a7c7046c6b82 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/7ec935b5478a962124599bcf4c08c3f1c646cdba Git commit ab000cb956cee7eff95459e476787b00307e4540 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: don't export ElementName struct For consistency with the other data structs in the API (Want, StartAbilityResult, PathPolicy, ...), which are not exported, drop Q_OHOSAPPKIT_EXPORT from ElementName. ElementName is a pure-data struct with no out-of-line members, so exporting the whole class exports nothing a consumer needs anyway: its special member functions are implicit and generated inline at each use. Also drop the now-unused qtohosappkitglobal.h include. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I036a424453cd65fc757f89c83733887b2c9b9765 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/ab000cb956cee7eff95459e476787b00307e4540 Git commit 3e83d183b40ed328b18057e80d52d201c6716734 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: pass options as nullable shared_ptr startAbilityForResult() was two pure-virtual overloads (with and without StartOptions), and the free startAbility() and startAppProcess() plus tryOpenLink() were likewise overload pairs, one taking a const reference to an abstract options object, one taking none. These options objects are abstract and only obtainable as a std::shared_ptr from their create...() factories, so take each as a single nullable std::shared_ptr parameter: one function per task, with a null pointer meaning "no options". startAbilityForResult() and tryOpenLink() thus become a single virtual (one vtable slot); the free functions keep a trailing = nullptr default. This covers the StartOptions sites (startAbility, startAppProcess, startAbilityForResult) and OpenLinkOptions (tryOpenLink), matching the already-nullable controllerOptions of shareDataWithShareKit(). Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: Ib7e02add7042cbe8a7e9934c2bd9ea9a4cfa0ccd Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/3e83d183b40ed328b18057e80d52d201c6716734 Git commit b130952286c6453e41c9beaeca9df50ed1965567 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: restartApp takes optional Want restartApp() was two pure-virtual overloads, one with no argument and one taking a Want. Collapse them into a single virtual taking a std::optional<Want>: one function per task, with an empty optional meaning "restart with the app launch want". The optional carries a Want value (not a factory options object), so unlike the options parameters it is a std::optional, not a std::shared_ptr. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I3923234facc3562586a9306644b9444235dbe685 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b130952286c6453e41c9beaeca9df50ed1965567 Git commit 974242dbd78682cbd1cc305bff1f5a228e264010 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: rename setAnchor(QPoint) overload setAnchor() had two overloads that did semantically different things: the QPoint form sets only the anchor offset, while the QRect form sets both offset and size. Overloading them under one name implied they were interchangeable. Rename the offset-only overload to setAnchorOffset(), leaving setAnchor(QRect) as the full-anchor setter. This also removes the last virtual overload set (one virtual per task). Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: Iab4e6ec905affb4543827ee86dc682c3ba9fb76d Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/974242dbd78682cbd1cc305bff1f5a228e264010 Git commit e85a045a5021f7a2c4d0a9fe9ef6377709a171da by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: add missing enum meta-registration The API enums are meta-registered so their enumerators can be enumerated (for example in documentation examples), but two were left out: - PathPolicyError (FileShare): add Q_ENUM_NS; the namespace already has Q_NAMESPACE. - ShareKit::ShareAbilityType: add Q_NAMESPACE to the ShareKit namespace and Q_ENUM_NS for the enum. WantInfo::LaunchReason and WantFlag remain unregistered; they need a Q_GADGET or namespace change and are left for a separate decision. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: Ib043ab8c7e1f92cadc68d1b4bd7ec925222f125e Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e85a045a5021f7a2c4d0a9fe9ef6377709a171da Git commit 0633bafce82adb36ebe00000bc79c5eb66c6165a by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: document Q_GADGET-for-enum intent WindowCreateParams and StartOptions are abstract, non-copyable interfaces, so their Q_GADGET can look like a value-semantics mistake. It is not: Q_GADGET is only there to provide the meta-object needed to Q_ENUM the nested option enums. Add a one-line comment recording that intent so it is not mistaken for one and removed. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: If5148f877a3a761f8c727f4b5848adc9a92b6414 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/0633bafce82adb36ebe00000bc79c5eb66c6165a Git commit 6e107d7232b0539b15706eb051a8b4ab2528f4f1 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: put all content inside QtOhosAppKit QOhosJsEnv (qohosjsenv_p.h) and the QOhosShareKit backend (qohossharekitbackend_p.h and .cpp) declared their symbols directly under QT_BEGIN_NAMESPACE, one level above QtOhosAppKit, unlike every other AppKit header. Wrap both in namespace QtOhosAppKit so all AppKit content lives inside the module namespace. The generated QtOhos::enums (qohosenums_p.h) keeps its own namespace and is left untouched. No API or behavior change. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I7f72b648ac96f481bad0ac79fe9722279acd0b0d Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/6e107d7232b0539b15706eb051a8b4ab2528f4f1 Git commit cdebf9bbaad01db9632134fc3823a3fae402c7a7 by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: move private symbols to Private namespace This prepares making the external interface private (headers renamed to _p.h) for the initial release. Once all headers are _p.h, the external-interface-in-waiting must stay distinguishable from the truly private content; a namespace marks the latter. Move everything declared in the _p.h headers (except the generated QtOhos::enums) into QtOhosAppKit::Private, keeping the existing names: the detail and QOhosShareKit namespaces, QOhosJsEnv, the internal data structs, the create, convert and tryConvert helpers, makeAppLaunchWantInfo, addNewWantConsumer, and shareData (moved out of the external ShareKit namespace). The definitions move with them; call sites are unchanged via a "using namespace Private" directive. No API or behavior change. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I66ee6e622904acf994c1adbc1aab28952ea6ca72 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/cdebf9bbaad01db9632134fc3823a3fae402c7a7 Git commit b2b4258a42567f4a4f2bec950c3e01623a97a5df by Zbigniew Chyla on 24/07/2026 at 04:28.. ohos: AppKit: make interface headers private Make the whole external interface private for the initial release (with plans to make it public later). Rename the 12 interface headers to _p.h and add the standard "We mean it" warning block to each. Four of them had a private companion _p.h holding a factory or helper; merge each companion into the renamed header, so a component is one file with its external part (QtOhosAppKit and the ShareKit sub-namespace) and its private part (QtOhosAppKit::Private) separated by namespace. Update every include to the <QtOhosAppKit/private/qohos..._p.h> form and the CMakeLists SOURCES accordingly. qtohosappkitglobal.h (the export macro) becomes private too, so the module installs no public header at all. The headers are still installed, as private, so the interface stays usable in the interim. No API or behavior change. Task-number: QTBUG-147194 Pick-to: 6.12 Change-Id: I41ac5191ef147b94aa746186a4cbe4fdf0ba7906 Reviewed-by: Liang Qi <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b2b4258a42567f4a4f2bec950c3e01623a97a5df