diff options
author | Jarkko Koivikko <jarkko.koivikko@code-q.fi> | 2023-02-06 16:08:33 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-02-08 15:44:54 +0000 |
commit | 978a810c069a6b32d2cee0212f9316d6e3e79c90 (patch) | |
tree | 20779b12446fa9029a58f8a63196de44a634db7d | |
parent | ae3b9f7be4e0ff901e65d9202c81686c96e6d7f1 (diff) |
Fix full screen input control sync (disable when not active)
The full screen input (aka shadow input) was continued being
synchronized even after the full screen mode was disabled. Not only
this caused an unnecessary overhead, it resulted in incorrect behavior
in some cases when initializing cursorPosition and selection.
This caused some of the test to fail without obvious reason. The root
cause was the cursor synchronization of the shadow input setting the
cursor during the tests. Now the shadow input item is reset when full
screen mode is disabled. In addition, the cursor synchronization is
not run when full screen mode is toggled.
Remove affected test cases from the blacklist.
Fixes: QTBUG-97901
Task-number: QTBUG-97830
Change-Id: I571433adfdb5a3f3cd9d994f0d6e916cae372054
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Inho Lee <inho.lee@qt.io>
(cherry picked from commit e9c701803dffe52fd9ac65c8657950213d948ebe)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/components/ShadowInputControl.qml | 12 | ||||
-rw-r--r-- | tests/auto/inputpanel/BLACKLIST | 8 |
2 files changed, 6 insertions, 14 deletions
diff --git a/src/components/ShadowInputControl.qml b/src/components/ShadowInputControl.qml index 064748d4..644514fc 100644 --- a/src/components/ShadowInputControl.qml +++ b/src/components/ShadowInputControl.qml @@ -106,11 +106,11 @@ Item { } } - Binding { - target: InputContext.priv.shadow - property: "inputItem" - value: shadowInput - when: VirtualKeyboardSettings.fullScreenMode - restoreMode: Binding.RestoreBinding + Connections { + target: VirtualKeyboardSettings + function onFullScreenModeChanged() { + InputContext.priv.shadow.inputItem = VirtualKeyboardSettings.fullScreenMode ? shadowInput : null + cursorSyncTimer.stop() + } } } diff --git a/tests/auto/inputpanel/BLACKLIST b/tests/auto/inputpanel/BLACKLIST index f4e054c5..fd393e7a 100644 --- a/tests/auto/inputpanel/BLACKLIST +++ b/tests/auto/inputpanel/BLACKLIST @@ -7,11 +7,3 @@ * [tst_plugin::test_fullScreenModeSelectionHandles:row 3] * - -# QTBUG-97830 -[tst_plugin::test_selection:row 0] -* - -# QTBUG-97901 -[tst_plugin::test_hangulInputMethod:row 24] -* |