[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 64be004d7c5b7ec6a837e19d158de97b64d168ba to 1e0a33da32941fec4eddd1e9d7cd6ce9fdaaf523 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 f220113820756f0ad6bbdfb4dcfabcd46e96f343 by Qt Cherry-pick Bot (on behalf of Pinlong Han) on 24/07/2026 at 04:41.. Wayland client: update cursor position after sending QTabletEvent On Wayland, when hovering a tablet stylus over a Qt window (Qt Quick or widgets), any UI element that relies on QCursor::pos() for positioning (such as themed tooltips) appeared at the "last mouse press position" instead of the actual stylus position. Mouse hover works correctly. Root cause: QCursor::pos() reads QWaylandCursor::mLastPos, which is only updated from mouse events via pointerEvent(QMouseEvent&). Tablet events arrive via the zwp_tablet_v2 protocol and did not update mLastPos, so QCursor::pos() always returns the last physical mouse position. In qwaylandtabletv2.cpp, we call waylandCursor()->setPosFromEnterEvent() from zwp_tablet_tool_v2_frame() after sending the tablet event, passing the actual tablet global position. This synchronizes the cursor position with the stylus position so that QCursor::pos() returns the correct value for any position-sensitive UI element. It's the same means of updating the cursor position after a mouse enter event. Fixes: QTBUG-146738 Change-Id: Icf0d71582776c1d8ad3d57e445b2b76b36dd110f Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Shawn Rutledge <[email protected]> (cherry picked from commit 4332e5e2c48c67d47ca87378d05d066039a7fb08) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/f220113820756f0ad6bbdfb4dcfabcd46e96f343 Git commit cebea9b0cff0a93bf2b2d170e1069dc9b881c55a by Qt Cherry-pick Bot (on behalf of SanthoshKumar Selvaraj) on 24/07/2026 at 04:41.. 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". Change-Id: Id77d5f1b1008548044ffa31a539d1a2808435662 Reviewed-by: Axel Spoerl <[email protected]> (cherry picked from commit 71f37d7cc8fe679b565b13e5b2b13aa31f58fa5b) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/cebea9b0cff0a93bf2b2d170e1069dc9b881c55a Git commit 41a769c6ed57cb14c0fe343739ec9dd018102986 by Qt Cherry-pick Bot (on behalf of SanthoshKumar Selvaraj) on 24/07/2026 at 04:41.. 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 Change-Id: I55c3ffeb648b7400df03e45bf13b15679be4cf19 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> (cherry picked from commit 76da94d9f53cf1f0f4be370e94c70390abbd825b) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/41a769c6ed57cb14c0fe343739ec9dd018102986 Git commit 09e2ce5df2ade78681fafe9ffbeb3d5265a5a0f1 by Qt Cherry-pick Bot (on behalf of SanthoshKumar Selvaraj) on 24/07/2026 at 04:41.. 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. Change-Id: I49b28a774e47771a364c0cd348d4ad35c6ad853c Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> (cherry picked from commit d34be6495b64f8286235783c250853f8fb72e780) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/09e2ce5df2ade78681fafe9ffbeb3d5265a5a0f1 Git commit a7396ed0b4a60aa9bd8c1567fe533badd8c0d83a by Qt Cherry-pick Bot (on behalf of SanthoshKumar Selvaraj) on 24/07/2026 at 04:41.. ohos: Report "harmonyos" from QSysInfo::productType() Align QSysInfo::productType() with the OSType::HarmonyOS rename from by returning "harmonyos" instead of the legacy "ohos" string. Change-Id: If459b7fed66ccf180b9f030d2aff268c7f411ae3 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Thiago Macieira <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> (cherry picked from commit f022d8577882752f7f1da740b96a09eab31c4e4f) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/a7396ed0b4a60aa9bd8c1567fe533badd8c0d83a Git commit 237eebfdd5f734e25dc8567e0321891a8a341d5d by Qt Cherry-pick Bot (on behalf of Luqiao Chen) on 24/07/2026 at 04:41.. 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 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> Change-Id: Id4fe45cae72f0edcc8a51e5aa74293d4478a6c61 Reviewed-by: Morten Johan Sørvig <[email protected]> (cherry picked from commit 4e5927ec7cc5d0aa66ad2ecd54ceb23f2f61494e) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/237eebfdd5f734e25dc8567e0321891a8a341d5d Git commit 908675cb8f18139d21947dc9b4d9ab5615150b39 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: If48d7e9b4ca772d22db0a01ad6b69837cdc44228 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> (cherry picked from commit 62b4a6f81130de66ce4c448722b74c58300bae19) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/908675cb8f18139d21947dc9b4d9ab5615150b39 Git commit aec2a65449ccfccfd88a8e513f340fdfcb0badd1 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I2a3f36fcb3744eb5bf5c4e54458948a228bfc4a1 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit b330c0e21616e0c4f1350159ed280d5715b70755) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/aec2a65449ccfccfd88a8e513f340fdfcb0badd1 Git commit 56c3a586f82e4f47fffb268e16e7697d3f8c547e by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I6cae35338059fda836376cabc3110171d6aaf00d Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit b9da677defaa261360382d265f2ae1ffdf84c557) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/56c3a586f82e4f47fffb268e16e7697d3f8c547e Git commit b956b0170b5aa23dfe29e4ef6e9c827da5bd4d40 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I098cc253d92767316ef2367211aa8825b290da77 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit 59b60f8805e17d2d1def1dfa7148a353864193e6) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/b956b0170b5aa23dfe29e4ef6e9c827da5bd4d40 Git commit 240eb7662134196439598f4b4c673f2c2f9aa36a by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I23740b199e0ef0f7aaf05aa3c9546f725c35d15c Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit 98cee3c93dde5419f4e114e32d617db399422c2a) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/240eb7662134196439598f4b4c673f2c2f9aa36a Git commit c17aded485a5c09f8d6dffbf4391ad46362db0df by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: Ic9b4eebb3cbab58316339bd64b16e7ffdd85634e Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit c034c53c6da313dde37944b453b30259971b607c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/c17aded485a5c09f8d6dffbf4391ad46362db0df Git commit 8ae38d6f6db900bfe82e97993540187f0d982059 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: Ie25dc47f7d1541c3724cf25d8d18867db9ad310a Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> (cherry picked from commit f014470aadabaf29c52e1f569e69a359fcb81d82) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8ae38d6f6db900bfe82e97993540187f0d982059 Git commit f0275c00d29ac56c36220fd8631eb75f52da2e2e by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I5fadce4943fc090595e09a2715e9a7c7046c6b82 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit 7ec935b5478a962124599bcf4c08c3f1c646cdba) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/f0275c00d29ac56c36220fd8631eb75f52da2e2e Git commit 7dee7627e2f8794e20e845542b841cc9cb301a3f by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I036a424453cd65fc757f89c83733887b2c9b9765 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit ab000cb956cee7eff95459e476787b00307e4540) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/7dee7627e2f8794e20e845542b841cc9cb301a3f Git commit 87c40023d6f47867ca92ffbd5eac36099fd53202 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: Ib7e02add7042cbe8a7e9934c2bd9ea9a4cfa0ccd Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> (cherry picked from commit 3e83d183b40ed328b18057e80d52d201c6716734) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/87c40023d6f47867ca92ffbd5eac36099fd53202 Git commit d8ebbbefbf6c1024b8972960ac840786a9a615bf by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I3923234facc3562586a9306644b9444235dbe685 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit b130952286c6453e41c9beaeca9df50ed1965567) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/d8ebbbefbf6c1024b8972960ac840786a9a615bf Git commit dd619f7a0a2be594d24707f721a6e9c896ee5a15 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: Iab4e6ec905affb4543827ee86dc682c3ba9fb76d Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit 974242dbd78682cbd1cc305bff1f5a228e264010) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/dd619f7a0a2be594d24707f721a6e9c896ee5a15 Git commit e57c4e1eaf054c778fe9ea9e7eb4516a4e3eec8f by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: Ib043ab8c7e1f92cadc68d1b4bd7ec925222f125e Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit e85a045a5021f7a2c4d0a9fe9ef6377709a171da) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/e57c4e1eaf054c778fe9ea9e7eb4516a4e3eec8f Git commit 2fbd280fd3a0d69de4baa4151df4d72d9b04aead by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: If5148f877a3a761f8c727f4b5848adc9a92b6414 Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> (cherry picked from commit 0633bafce82adb36ebe00000bc79c5eb66c6165a) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/2fbd280fd3a0d69de4baa4151df4d72d9b04aead Git commit a59e5a6fd3a186b83e947fa159d5d431f340265c by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I7f72b648ac96f481bad0ac79fe9722279acd0b0d Reviewed-by: Liang Qi <[email protected]> Reviewed-by: Dawid Śliwa <[email protected]> (cherry picked from commit 6e107d7232b0539b15706eb051a8b4ab2528f4f1) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/a59e5a6fd3a186b83e947fa159d5d431f340265c Git commit a249bccf1e89711a632fd9395675588dcc0086c2 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I66ee6e622904acf994c1adbc1aab28952ea6ca72 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit cdebf9bbaad01db9632134fc3823a3fae402c7a7) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/a249bccf1e89711a632fd9395675588dcc0086c2 Git commit 1e0a33da32941fec4eddd1e9d7cd6ce9fdaaf523 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 24/07/2026 at 04:41.. 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 Change-Id: I41ac5191ef147b94aa746186a4cbe4fdf0ba7906 Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit b2b4258a42567f4a4f2bec950c3e01623a97a5df) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/1e0a33da32941fec4eddd1e9d7cd6ce9fdaaf523