[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 532f6c0881590b40b9704832dd6915710381692e to 2fa57f020f9b5b8d1131ca7e97d1199050f182d6 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 bb491daff1d54c616b7eca7d37eb09cfa39f4c37 by Qt Cherry-pick Bot (on behalf of Seokha Ko) on 22/07/2026 at 04:59.. ohos: Clean up the application state tracker Drop the unused FocusWindowEvent type alias. Store the received application state directly rather than through a redundant local variable. Change-Id: I8f4ae210f4a07d81159e32a9dff3237364ff2413 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 9d62d52343d1f0ab6c093698da8eb7bbe9018ab0) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/bb491daff1d54c616b7eca7d37eb09cfa39f4c37 Git commit 28932fd88ead2af8f316a6c881d7282cf0c038f2 by Qt Cherry-pick Bot (on behalf of Seokha Ko) on 22/07/2026 at 04:59.. ohos: Derive application state from the OHOS lifecycle ApplicationStateTracker derived Qt::ApplicationActive/Inactive from window focus, reporting the application inactive whenever no window held focus. A popup is created non-focusable on OHOS, so when such a popup is the application's only visible window -- a top-level popup with no parent, such as a parentless QMenu -- the tracker reported Qt::ApplicationInactive; QtWidgets reacts to that by calling closeAllPopups() and dismisses the popup before it is shown. Derive the active/inactive distinction from the OHOS ability lifecycle (foreground/background) that the platform already reports, and use window visibility only to refine it to Qt::ApplicationHidden. A foreground application is active whether or not one of its windows holds focus, which removes the need to track window focus or to special-case popups. Fixes: QTBUG-148264 Fixes: QTBUG-148346 Change-Id: I690ece293cfd399e66fc9706179efa8f1f4905a8 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 5673f53d698660f1dcfa33bfa0eab021f2d3e40c) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/28932fd88ead2af8f316a6c881d7282cf0c038f2 Git commit 738d20773e6eea2ebee3750a62db630e22394b10 by Qt Cherry-pick Bot (on behalf of Seokha Ko) on 22/07/2026 at 04:59.. ohos: Compare platform-reported window states, not the requested one QOhosPlatformWindow::m_windowState is updated both at window creation and from setWindowState(), so it reflects the requested state. Comparing an incoming platform state change against it drops updates whose requested and applied values coincide, so e.g. a maximize is never reported to Qt. Compare the previously received platform state instead, tracked separately in m_lastWindowState (a std::optional left empty until the first report, so that report is always delivered). Filter duplicate FULL_SCREEN status notifications in handleWindowStatusChange(), observed on real devices. MainWindow views in non-PC mode are exempt: initialize() pre-seeds their status to FULL_SCREEN, so their first real notification is still processed. Fixes: QTBUG-148264 Change-Id: I8a791effea805b0dfdb248cceb1569c6767ce3f7 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit b2d7a1955cd2f24a57581998f810166c7301dbec) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/738d20773e6eea2ebee3750a62db630e22394b10 Git commit fac997c13edbd8e28937d8c43730edcea526cc7b by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 22/07/2026 at 04:59.. ohos: Fix checkPermission() never reporting Denied On OHOS, QCoreApplication::checkPermission() never reports Denied: after the user explicitly denies a permission it still returns Undetermined, whereas Android and iOS report the real decision. So portable code that branches on Denied - e.g. to stop prompting and open settings - misbehaves on OHOS: it never sees Denied and keeps re-prompting. The lossy result comes from querying the binary checkAccessToken, which cannot tell a denied permission from one never requested. Since API 20 OHOS also offers the AtManager.getSelfPermissionStatus() JS API, which returns a full status: GRANTED, DENIED, NOT_DETERMINED, INVALID or RESTRICTED. Have checkPermission() query AtManager.getSelfPermissionStatus() so it reports the real status. Where a QPermission maps to several OHOS permissions, it is granted only if all are granted, denied if any is denied, and undetermined otherwise. requestPermission() already behaved correctly and is unchanged. Task-number: QTBUG-148464 Change-Id: If58359c5088a785571c11ba52279385f9f857e8d Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 0ac80bffa06faa4ae6159470c3b38f6dcfbf8684) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/fac997c13edbd8e28937d8c43730edcea526cc7b Git commit 461805966f96979e0fda99790251bb211053d299 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 22/07/2026 at 04:59.. ohos: kill QOhosOptional alias use in clipboard/UDMF 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 the clipboard and data-transfer (UDMF) files with plain std::optional and add <optional> includes where the type is used and the paired header does not already provide one. Where std::optional is the target type (a function return or an assignment), use the underlying value directly instead of wrapping it, and return {} instead of std::nullopt; keep the explicit optional only where it is required, e.g. in conditional expressions and in lambdas with a deduced return type. Drop the now-unused qohosplugincore.h include from the files where QOhosOptional was the only symbol taken from it. Task-number: QTBUG-147543 Change-Id: Iedc9643a9a7bd988e0d6aab5f04508724844deb0 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit 79192a2e750c96479f79d127b7e51cc5c38a1056) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/461805966f96979e0fda99790251bb211053d299 Git commit 2fa57f020f9b5b8d1131ca7e97d1199050f182d6 by Qt Cherry-pick Bot (on behalf of Zbigniew Chyla) on 22/07/2026 at 04:59.. ohos: kill QOhosOptional alias use in windowing/graphics 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 the windowing, screen and graphics files with plain std::optional and add <optional> includes where the type is used and the paired header does not already provide one. Where std::optional is the target type (a function return or an assignment), use the underlying value directly instead of wrapping it, and return {} instead of std::nullopt; keep the explicit optional only where it is required, e.g. in conditional expressions and in lambdas with a deduced return type. Drop the now-unused qohosplugincore.h include from the files where QOhosOptional was the only symbol taken from it. Task-number: QTBUG-147543 Change-Id: Ia2980b373b1eebd56cb5fb50403d33302c932a79 Reviewed-by: SanthoshKumar Selvaraj <[email protected]> (cherry picked from commit b4629d968c1a9f89eb99633c039fc5d55d30c907) Reviewed-by: Qt Cherry-pick Bot <[email protected]> https://invent.kde.org/qt/qt/qtbase/-/commit/2fa57f020f9b5b8d1131ca7e97d1199050f182d6