summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorBartlomiej Moskal <bartlomiej.moskal@qt.io>2021-01-11 11:35:47 +0100
committerBartlomiej Moskal <bartlomiej.moskal@qt.io>2021-01-27 20:19:42 +0000
commit42a5cb0f1d200af13ac14c291a67512d13104f01 (patch)
treebf0cda612526a848f9d705966ecee83808ce59a7 /src/android
parent15b61e00c501f0e70aa70a15131d22b2ea8c80c5 (diff)
Android: Finish composing text before Key handling
If the sendKeyEvent was invoked, it means that the button not related with composing text was used. In such case composing text (if it exists) should be immediately finished. Fixes: QTBUG-85715 Change-Id: Ifbca067805b8d20f6a90f95b27210595abed964a Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 0d5b43bed4d75ce4d1f1c5a7b953288f5570350d)
Diffstat (limited to 'src/android')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtInputConnection.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtInputConnection.java b/src/android/jar/src/org/qtproject/qt5/android/QtInputConnection.java
index 7c621a11e2..76fa974e8d 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtInputConnection.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtInputConnection.java
@@ -46,6 +46,7 @@ import android.view.inputmethod.CompletionInfo;
import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputMethodManager;
+import android.view.KeyEvent;
import android.graphics.Rect;
import android.app.Activity;
import android.util.DisplayMetrics;
@@ -250,6 +251,16 @@ public class QtInputConnection extends BaseInputConnection
}
@Override
+ public boolean sendKeyEvent(KeyEvent event)
+ {
+ // QTBUG-85715
+ // If the sendKeyEvent was invoked, it means that the button not related with composingText was used
+ // In such case composing text (if it exists) should be finished immediately
+ finishComposingText();
+ return super.sendKeyEvent(event);
+ }
+
+ @Override
public boolean setComposingText(CharSequence text, int newCursorPosition)
{
setClosing(false);