aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2023-02-06 16:08:33 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-02-08 15:44:54 +0000
commit978a810c069a6b32d2cee0212f9316d6e3e79c90 (patch)
tree20779b12446fa9029a58f8a63196de44a634db7d
parentae3b9f7be4e0ff901e65d9202c81686c96e6d7f1 (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.qml12
-rw-r--r--tests/auto/inputpanel/BLACKLIST8
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]
-*