[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 ea78d5a4e582d44b17a7c303b22f65f18a3de157 to 78f595689378643dc39e29b340a24039769ed08c
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 876748257f0c6656435b1446e88068fd4d9ccfab by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: resolve owning ability for sub and float windows

tryGetQAbilityPeerByQWindow only matches a QWindow against each
QAbilityPeer's main-window reference, so sub and float windows never
resolve to their owning ability (and tryGetQAbilityByQWindow, built on
it, inherits the same limitation).

Fall back to the JS window registry: when no peer's main window
matches, look up the JsWindowRef by its owning QWindow and resolve the
peer from the ability instance id it now carries. Main windows keep
matching via the existing fast path, so their result is unchanged; sub
and float windows now resolve to the same ability the window proxy
records.

No in-tree caller passes a non-main window yet, so behavior is
unchanged for now; this unblocks resolving a dialog's owning ability
from any QWindow on the JS thread.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I1811feed70932ae5227a3c3e4e4ca92670693c9f
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/876748257f0c6656435b1446e88068fd4d9ccfab

Git commit 5d70c78154cf59866af2ffd149e0b7ea720b3a92 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: add QOhosJsState::tryGetJsWindowByQWindow()

QOhosJsState can resolve a QWindow to its owning ability
(tryGetQAbilityByQWindow) but not to its JS window.Window object.

Add tryGetJsWindowByQWindow() alongside it: JsStateImpl looks the
QWindow up via QOhosJsWindowRegistry::tryFindJsWindowByQWindowRef() and
returns its JS window object, on the JS thread and by reference
identity, for main, sub and float windows alike.

This is for plugin-external code that wants to use the JS Window API
but can identify a window only by its QWindow (it has no access to the
plugin's JsWindowId or window registries). It has no in-tree caller
yet.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I7437642b41ea524c597881f928a87c686128b7e1
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/5d70c78154cf59866af2ffd149e0b7ea720b3a92

Git commit e1b72074df521149adfe4c522fca03f4ed2cebed by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: use QWindow ref for QOhosWindowManager dialogs

The showFileDialog* helpers take a QtOhos::InternalWindowId and resolve
it on the main thread through the plugin-internal QWindowProxyRegistry.
Take a QtOhos::QObjectThreadSafeRef instead and resolve both the owning
ability and the modal-parent window object on the JS thread via
QOhosJsState. This decouples the helpers from plugin internals so one
of them can later move out of the OHOS plugin; they share the same
machinery, so decoupling one decouples all three.

Behavior is preserved for registered windows and for the no-window case
(default ability, no modal parent). One relaxation: an unrealized
parent window currently aborts; it now degrades to the default ability
(effectively unreachable, as a dialog's parent is shown).

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Ic4000df1f88a0efb56612248e333889906356171
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/e1b72074df521149adfe4c522fca03f4ed2cebed

Git commit 3f65f96e3251e831282e868aae299bfc06ea5b66 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: inline startOhosFilePicker into showFileDialogAuthorization

showFileDialogAuthorization goes through the shared startOhosFilePicker
helper, which the other two dialogs also use. Inline it here so this
one function is self-contained, a step toward moving it out of the
plugin without dragging the shared helper along.

The inlined form drops the generic FilePickerResult indirection: the
picker's selected index (unused for authorization) is no longer read,
and the result is reduced directly to the authorized bool. Behavior is
otherwise unchanged, and startOhosFilePicker stays for the open/save
dialogs.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Ie7920f246739420d987ce6e26bd640087318b429
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/3f65f96e3251e831282e868aae299bfc06ea5b66

Git commit 609e5c382c33e3851874c44a04579fc4fd5c4ea4 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: inline makeDocumentViewPicker into showFileDialogAuthorization

Continue making showFileDialogAuthorization self-contained ahead of
moving it out of the plugin: inline makeDocumentViewPicker's body (JS
window lookup, ability context, picker construction) into it.

makeDocumentViewPicker stays for the open/save dialogs, which reach it
through startOhosFilePicker. Behavior is unchanged.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Idb832f380f313bf097dcf45f7582cb7d9130d72b
Reviewed-by: Arkadiusz Zarębski <[email protected]>
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/609e5c382c33e3851874c44a04579fc4fd5c4ea4

Git commit d55ea953f71fa9c0d2c51a9647defe13818660a8 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: drop needless URI mapping in showFileDialogAuthorization

showFileDialogAuthorization only reports whether the user picked
anything, so check the result array's length directly instead of
extracting its OHOS file URIs and mapping them to paths and Qt URLs
purely to test emptiness. Both mapping helpers stay for the open/save
dialogs.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Ib42c16c0583af93855ec3119ba77d6e48b49d0e0
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
Reviewed-by: Arkadiusz Zarębski <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/d55ea953f71fa9c0d2c51a9647defe13818660a8

Git commit 34c2dd0df62f6869f2fa686b8a18c25051121391 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: resolve auth dialog ability via QOhosJsState

showFileDialogAuthorization resolves the picker's ability context
through the plugin peer API (getQAbilityPeerForQWindow, then
QAbilityPeer::qAbility). Get the ability object straight from
QOhosJsState instead - tryGetQAbilityByQWindow with a defaultQAbility
fallback - so this path no longer touches the peer type, one less
plugin dependency before the move. getQAbilityPeerForQWindow stays for
the open/save dialogs.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I51aded8fc732b6780a208622ed958418b0039156
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/34c2dd0df62f6869f2fa686b8a18c25051121391

Git commit 08d9a2ba6014d9f14fc3b5733b0a654cd21f84a4 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: move file authorization to QtOhosAppKit

The file-path authorization dialog lives inside the OHOS platform
plugin: QOhosWindowManager::showFileDialogAuthorization() runs the
DocumentViewPicker in authMode, and QOhosQpaFunctions exposes it to
Qt via showFileDialogToAuthorizeFilePath(). Nothing outside the
plugin can reach it, and the QPA hook has no in-tree caller.

Introduce QtOhosAppKit::authorizeFilePath(), modelled on qt5's
QtOhosExtras::authorizeFilePath(), which drives the picker directly
through the corelib QOhosJsState JS-thread API. Move the dialog logic
and the event-loop bridge into QtOhosAppKit, and drop the now-unused
showFileDialogAuthorization() and QOhosQpaFunctions hook.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I20a691e7c792cf6857cf6da5f0f1b1f036e1c387
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/08d9a2ba6014d9f14fc3b5733b0a654cd21f84a4

Git commit 2666e4af2ed50023d7d76ef3c36c0d9c2151c591 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: add QtOhosAppKit::tryGetNativeWindowId()

Add QtOhosAppKit::tryGetNativeWindowId(), modelled on qt5's
QtOhosExtras::tryGetNativeWindowId(), to expose a window's native
OpenHarmony id to plugin-external code. It delegates to a new
internal QNativeInterface::Private::QOhosWindow::windowId(),
implemented by QOhosPlatformWindow.

Drop the now-unused QOhosQpaFunctions hook that previously provided
the id.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Icfe20479d5bbdf387537abf4c35c24a269a008be
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/2666e4af2ed50023d7d76ef3c36c0d9c2151c591

Git commit ac6e2e3ca47021349e68ebbaf58ddf008dcc22b1 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: add QtOhosAppKit::tryGetScreenDisplayId()

Add QtOhosAppKit::tryGetScreenDisplayId(), modelled on qt5's
QtOhosExtras::tryGetScreenDisplayId(), to expose a screen's native
OpenHarmony display id to plugin-external code. It delegates to a
new internal QNativeInterface::Private::QOhosScreen::displayId(),
implemented by QOhosPlatformScreen.

Drop the now-unused QOhosQpaFunctions hook that previously provided
the id.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I6c3dfbaa751e351be2d0d464b73903cc8aa6d4ca
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/ac6e2e3ca47021349e68ebbaf58ddf008dcc22b1

Git commit 5b253e1c08bfd29c50975476ea8003e86dbc92d9 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: add QOhosAppContext::isNoUiChildMode()

Add QtOhosAppKit::QOhosAppContext::isNoUiChildMode(), modelled on
qt5's QtOhosExtras::QOhosAppContext::isNoUiChildMode(), to expose to
apps whether the current process was started as a "No UI" child
process. It checks the default QAbility on the JS thread via
QOhosJsThreadGateway and caches the result, since the mode is fixed
for the process lifetime.

Drop the now-unused QOhosQpaFunctions::readOhosNoUiChildMode() hook
that the qt5 implementation relied on. That hook tested
defaultQAbilityPeer()->instanceId().empty(); the new check
!defaultQAbility() is equivalent, as both are true exactly when the
default QAbility peer is the dummy peer, where the empty instance id
and the empty ability always go together.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I7b65e292e47f26523de0e043a5c2efd7ea7dcc84
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/5b253e1c08bfd29c50975476ea8003e86dbc92d9

Git commit 168ecaee88a4c891ac938694f51f3cad80748c55 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: add setMainWindowGeometryPersistenceHint()

Add QtOhosAppKit::Window::setMainWindowGeometryPersistenceHint(),
modelled on qt5's QtOhosExtras::setMainWindowGeometryPersistenceHint(),
to let apps control whether the main window restores its last geometry
on startup.

It bridges to the plugin through a new private QOhosIntegration native
interface method that takes a std::optional<bool>
(true/false/unset = Enabled/Disabled/FollowSystemSetting), avoiding a
bridge-level enum.

Drop the now-unused QOhosQpaFunctions counterpart that the qt5
implementation relied on.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I19093078cfac41ae6c8d08629aab4ebc2441ff2b
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/168ecaee88a4c891ac938694f51f3cad80748c55

Git commit 28b2b2db5e8ffaa956b7acfa2ec7600c76851e2d by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: drop dead setInAppOnlyPasteboardShareOption() hook

Remove QOhosQpaFunctions::setInAppOnlyPasteboardShareOption() and its
QOhosQpaFunctionsImpl implementation. It is dead scaffolding: apps
already reach this functionality through the existing
QtOhosAppKit::QOhosPasteboard::setInAppOnlyPasteboardShareOption(),
which doesn't use QOhosQpaFunctions implementation.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I5f46fb1280856f26033469feff58565657274d90
Reviewed-by: Arkadiusz Zarębski <[email protected]>
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/28b2b2db5e8ffaa956b7acfa2ec7600c76851e2d

Git commit c359f4d6de1b629a7908a87af4a289df73e240fe by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: give appContext env callback typed method list

registerAppContextEnvironmentCallback() takes the callback as a
QNapi::Object, an opaque type that expresses nothing at compile time
about the required shape (a set of named callback functions). Take the
methods directly instead, as a std::vector<std::pair<std::string,
QNapi::CallbackFuncWrapper>>, so the parameter's static type states
exactly what it accepts, and the helper builds the JS
EnvironmentCallback object itself.

This also makes the registration reusable by callers that only want to
supply handlers rather than assemble QNapi objects.

Update registerAppConfigurationUpdateListener() to pass the method
list.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I1f854ea31d860472876fb5faf6a6721b517aeda3
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/c359f4d6de1b629a7908a87af4a289df73e240fe

Git commit f568d21d084a47a502d1bf547a88aa067100ec00 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: inline and drop registerAppConfigurationUpdateListener

registerAppConfigurationUpdateListener() is a thin wrapper with a
single caller, makeOhosConfigValueDataSource(). Now that
registerAppContextEnvironmentCallback() takes the callback methods
directly, the wrapper only forwards an onConfigurationUpdated handler.

Inline it into makeOhosConfigValueDataSource() and remove it.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: Id0d2ceae3481e3e58361a86fbd82e7da4cc0ad87
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/f568d21d084a47a502d1bf547a88aa067100ec00

Git commit 42b7fa6319d4817febb190939385d14435e74460 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: decouple appContext env callback from in-plugin APIs

registerAppContextEnvironmentCallback() depends on plugin-internal
APIs: it takes a QtOhos::JsState, reads the ability via
defaultQAbilityPeer(), and unregisters via runInJsThreadAndWait().
These keep it bound to the platform plugin.

Switch it to the corelib QOhosJsState interface: take QOhosJsState,
read the ability via defaultQAbility(), and unregister via
QOhosJsThreadGateway::runAndWait(). It now depends only on corelib
APIs, so it can be reused (and later relocated) outside the plugin.

defaultQAbility() yields no value when there is no default ability; in
that case register nothing and return an empty handle, rather than
evaluating on the dummy ability.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I4636a1db6874221c085139173f1761fde3cce276
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/42b7fa6319d4817febb190939385d14435e74460

Git commit 8aef367d21c52c27e892e240fff87164dada3ea9 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: mv appContext env callback registration to corelib

We want to use registerAppContextEnvironmentCallback() outside the
OHOS platform plugin. It now depends only on corelib APIs, so move it
from the plugin (qohosjsutils) to corelib (qohosjstools) and export it
as registerOhosAppContextEnvironmentCallback() (corelib symbols carry
the Ohos prefix).

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I5e75b4a00947dc2f508c0cb2159e8b72ac759773
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/8aef367d21c52c27e892e240fff87164dada3ea9

Git commit 3cbcc6ac6b126172d0c8361b358d3cdc17cdbc72 by Zbigniew Chyla on 17/07/2026 at 07:54..
ohos: expose font size scale via QOhosAppContext

Add fontSizeScale() and the fontSizeScaleChanged() signal to
QtOhosAppKit::QOhosAppContext, modelled on qt5's
QtOhosExtras::QOhosAppContext, so applications can read the current
OHOS font size scale and react to changes.

QOhosAppContextImpl backs them with a corelib data source
(makeQOhosDataSource) seeded from the app configuration and updated via
registerOhosAppContextEnvironmentCallback(); changes are delivered on
the Qt thread and emitted as fontSizeScaleChanged().

Drop the now-unused QOhosQpaFunctions backend
(makeOhosConfigFontSizeScaleDataSource), which existed only for qt5's
QtOhosExtras.

Task-number: QTBUG-147194
Pick-to: 6.12
Change-Id: I64f8dd9942436f93a3e12672a09313b3f79738c1
Reviewed-by: SanthoshKumar Selvaraj <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/3cbcc6ac6b126172d0c8361b358d3cdc17cdbc72

Git commit 0242bbdba2ccb8b31d482012af4c9ae757655be0 by Joerg Bornemann on 17/07/2026 at 09:34..
CMake: warn about unhandled .qrc files added as target sources

A .qrc file listed as a source of a Qt target, e.g.

    qt_add_executable(app main.cpp app.qrc)

is silently ignored unless AUTORCC is enabled or the file is passed to
qt_add_resources(): rcc never runs on it and its resources are missing at
runtime with no diagnostic. This is a common trap, made worse by
qt_standard_project_setup() enabling AUTOMOC and AUTOUIC but deliberately
not AUTORCC.

At target finalization, scan the target's sources for such .qrc files and
emit a warning. A .qrc is considered handled, and does not warn, when it
was consumed by a Qt resource function (tracked via the new
_qt_resource_file_handled source-file property), when it is marked
HEADER_FILE_ONLY (listed only for IDE visibility, which also covers the
.qrc that qt_add_resources(FILES ...) generates and exposes to IDEs), or
when AUTORCC will run rcc on it.

The warning can be silenced per file via the HEADER_FILE_ONLY source-file
property, or for a whole scope via the QT_NO_UNHANDLED_QRC_SOURCE_WARNING
variable.

[ChangeLog][CMake] A .qrc file added directly as a target source without
being processed by qt_add_resources() or AUTORCC now produces a warning at
configure time instead of being silently ignored. Mark the file
HEADER_FILE_ONLY or set QT_NO_UNHANDLED_QRC_SOURCE_WARNING to silence it.

Fixes: QTBUG-139750
Change-Id: I6424250aff2f639629fed324bbc26598810052c0
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/0242bbdba2ccb8b31d482012af4c9ae757655be0

Git commit 78f595689378643dc39e29b340a24039769ed08c by Joerg Bornemann on 17/07/2026 at 09:34..
CMake: Fix QML deployment when configuring through a junction

_qt_internal_get_deploy_impl_dir returned the raw ${CMAKE_BINARY_DIR}/.qt,
but file(GENERATE) resolves junctions and writes the per-target QML deploy
scripts under the real build directory. The stored __QT_DEPLOY_IMPL_DIR kept
the junction path, so qt6_deploy_qml_imports could not find them.

Resolve the deploy impl dir with REALPATH so generation and lookup agree.

Fixes: QTBUG-148296
Pick-to: 6.12
Change-Id: I87ba814801d64e1d9627c12cc7c493739c3dcdf8
Reviewed-by: Alexandru Croitor <[email protected]>
https://invent.kde.org/qt/qt/qtbase/-/commit/78f595689378643dc39e29b340a24039769ed08c
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.