[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.