[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 709ba93c4a72513f8bd03d38e824aafef0919dd9 to 8066bb14aff0a99e6e0e730b138d6c739eac45fd 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 571fe99bb985f322b4ed6d76d1fdcfd9caeaa1c2 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 20/07/2026 at 14:51.. ohos: kill QOhosOptional alias use in render/ files The QOhosOptional<T> alias for std::optional<T>, together with its makeQOhosOptional() and makeEmptyQOhosOptional() helpers, is being eliminated in favor of using std::optional directly. Replace every remaining use in src/plugins/platforms/ohos/render/ with plain std::optional and add <optional> includes where the type is used and the paired header does not already provide one. Drop the now-unused qohosplugincore.h include from the headers where QOhosOptional was the only symbol taken from it. Task-number: QTBUG-147543 Change-Id: I586d5e61244dae80edac8888f0f5b5a69fb14685 Reviewed-by: Dawid Śliwa <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit c3dea84d855cff46b36515f2692842c359ec5d42) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/571fe99bb985f322b4ed6d76d1fdcfd9caeaa1c2 Git commit 1e9c7229554c483db82f11542878702340f29ccf by Qt Cherry-pick Bot (on behalf of Seokha Ko) on 20/07/2026 at 14:51.. ohos: Register a Mouse device and use it for mouse and wheel events QOhosPlatformIntegration::getAvailableDeviceTypes() only registered TouchScreen and TouchPad devices, never Mouse. Event constructors in QWindowSystemInterface default to QPointingDevice::primaryPointingDevice(), which falls back to the TouchPad device when no Mouse device is registered. QOhosInputMethodEventHandler::onMouseWheelEvent() called handleWheelEvent() without an explicit device, even though it already distinguishes UI_INPUT_EVENT_TOOL_TYPE_MOUSE from UI_INPUT_EVENT_TOOL_TYPE_TOUCHPAD to compute the delta. Wheel events from a real mouse therefore always carried a TouchPad-typed device, so QtQuick's WheelHandler ignored them, since its default acceptedDevices is Mouse only. Detect a mouse source among the reported OHOS input devices and register a Mouse QPointingDevice for it. Pick the Mouse or TouchPad device to attach to a wheel event based on its tool type. Registering a Mouse device changes what QPointingDevice::primaryPointingDevice() returns process-wide, which would silently affect any other event path in the plugin that omits an explicit device. QOhosInputMethodEventHandler::handleMouseEvent() was such a path: ArkUI reports mouse move/press/release uniformly for both a physical mouse and touchpad-driven pointer movement, and it was relying on that same implicit fallback. Extend QArkUi::getPointingDeviceType() to also recognize UI_INPUT_EVENT_SOURCE_TYPE_MOUSE, and thread the resulting device type through NativeNodeMouseEvent and QOhosMouseEvent so handleMouseEvent() can look up and attach the matching device explicitly, the same way onMouseWheelEvent() already does. This keeps touchpad-driven mouse move/click events classified as TouchPad, as before, and removes the last implicit use of primaryPointingDevice() for pointer events in this plugin. onNonClientAreaMouseEvents() builds its QOhosMouseEvent from Input_MouseEvent, which has no source-type query (unlike ArkUI_UIInputEvent), so it left the new deviceType field to its QOhosMouseEvent::Mouse default. Set it to TouchPad explicitly instead: guessing Mouse there could make getPointingDeviceOrCreate() register a phantom Mouse device on a machine that has none, which would then make primaryPointingDevice() prefer it process-wide; guessing TouchPad cannot have that effect, since TouchPad is already its fallback. createPointingDevice() hardcoded systemId to 1 for every device it creates. getAvailableDeviceTypes() can report several device types at once (e.g. a laptop with both a touchscreen and a touchpad), so multiple devices could already end up sharing systemId 1 before this change; adding a Mouse device made that a three-way collision. QInputDevice::systemId() is documented to be unique per device when nonzero, and QInputDevice::operator==() compares only systemId, so colliding IDs make unrelated devices compare as equal. Reuse the DeviceType flag value as the systemId, since it is already guaranteed to be distinct per type handled here. Also factor the register+release boilerplate shared by both branches of createPointingDevice() into a small helper. If querying the device list fails, getAvailableDeviceTypes() falls back to an empty set and every device ends up being created lazily on first use instead. Note that consequence in the existing error log, since the later per-device warnings from getPointingDeviceOrCreate() don't otherwise reference this earlier failure. Fixes: QTBUG-147931 Change-Id: I0b38163bf4e04af74692c9267e5ef942fbdc41f4 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 6bf077c757c1733a4eb3f17889531b31789bfd71) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/1e9c7229554c483db82f11542878702340f29ccf Git commit 68a42e1863e5d7d0d63747e2a02901b2f076e3a3 by Qt Cherry-pick Bot (on behalf of Dawid Śliwa) on 20/07/2026 at 14:51.. ohos: make QOhosSettings a lazy singleton QOhosSettings is owned by QOhosPlatformIntegration, created only in initialize(), and reached through instance(), which stays null until the plugin factory returns, so any settings access between integration construction and initialize() dereferences null. The integration constructor announces screens synchronously, and on a private branch where availableGeometry() consults the PC-mode setting this crashes every application at startup on phones and tablets. Make QOhosSettings a lazily created singleton and drop the settings() accessor, so the settings can be reached at any point of the plugin lifecycle. The PC-mode cache stays tied to the integration - installSettingsCache() is called in its constructor and the returned handle uninstalls the cache before the JS thread goes away. Without the cache the value is read live. Fixes: QTBUG-147940 Change-Id: I353338e3dc79dc966a988d1adc093aeb3e908ccc Reviewed-by: SanthoshKumar Selvaraj <[email protected]> Reviewed-by: Zbigniew Chyla <[email protected]> (cherry picked from commit 32759f676fbb9a01e2cca15b45eee7ebec6b9a43) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/68a42e1863e5d7d0d63747e2a02901b2f076e3a3 Git commit 84fd731741b66360a7a9d8018134a4e09031aece by Qt Cherry-pick Bot (on behalf of Kai Koehne) on 20/07/2026 at 14:51.. Doc: Allow to easily link to CMake commands Add qt_<command>() as an alternative \keyword to the CMake command pages, replacing the corresponding \keyword qt6_<command> entries. Update \l and \sa references throughout the documentation to use the new qt_<command>() keyword directly, dropping the workarounds that were needed to show the parentheses, and unbracing single-word targets where possible. Change-Id: I2d2268b31a000ae4713227f9508806144456e2f4 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit e249fa7e133ea8f1c19d806d93ba2010d96ed3b0) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/84fd731741b66360a7a9d8018134a4e09031aece Git commit ba445abe5d6d1d6416822a10ea58037214fd9c54 by Qt Cherry-pick Bot (on behalf of Arkadiusz Zarębski) on 20/07/2026 at 14:51.. ohos: fix fullscreen landing on wrong screen in multi-screen setups Moving a window to another screen and then making it fullscreen left the window maximized on the screen it was created on instead of the target one. To reproduce: window->windowHandle()->setScreen(targetScreen); window->move(targetScreen->geometry().topLeft()); window->showFullScreen(); The move() to the target screen and the subsequent showFullScreen() race each other. QOhosView::setPosition() (driven by move()) only queues the position update for an async flush (Qt::QueuedConnection), whereas showFullScreen() reaches setFullScreen() / maximize(ENTER_IMMERSIVE) synchronously. Entering fullscreen mode maximizes on the window's current display, so it ran before the queued move was applied and the window stayed on its origin screen. Flush the pending update batch synchronously in setFullScreen() before entering fullscreen mode, so a queued move() is applied to the target display first. The batch is drained in one pass in its fixed order (see makeSystemUpdateDataPropertyUpdateFuncPairsTuple()), keeping the position update ordered after size/sizeLimits. Task-number: QTBUG-148234 Change-Id: Iced294dbd68d3d52461c85108232a22df286f608 Reviewed-by: Zbigniew Chyla <[email protected]> Reviewed-by: Liang Qi <[email protected]> (cherry picked from commit eee688add2ad80697ea1c3164b4963945770e8df) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/ba445abe5d6d1d6416822a10ea58037214fd9c54 Git commit 8066bb14aff0a99e6e0e730b138d6c739eac45fd by Qt Cherry-pick Bot (on behalf of Alexandru Croitor) on 20/07/2026 at 18:16.. CMake: Use -Wno-unused-cli for CMake 4.4 in RunCMake.cmake Since ca5d56952477e1acc345dd33480210ba1d6b03fc in upstream CMake 4.4, a deprecation warning is shown when using --no-warn-unused-cli. This ends up in the stderr output of various RunCMake tests and fails them. Patch RunCMake.cmake to conditionally use -Wno-unused-cli or --no-warn-unused-cli depending on the CMake version. Pick-to: 6.11 6.8 Change-Id: Ie0ef16d14dc125ad546e419e1b309043afd2b559 Reviewed-by: Joerg Bornemann <[email protected]> (cherry picked from commit 5a9af3dbfa4efffeba7ef82816b391884ce35382) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/8066bb14aff0a99e6e0e730b138d6c739eac45fd