From afeba6978fb9cf0b624638a8c97fa7d5f19b04cc Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 11 Jan 2018 17:20:09 +0200 Subject: Make sure we finish composing before we do any operations on text We must finish composing before we move cursor or we do operation on text like cut, copy, paste and select all Change-Id: Ibb09f2c3e526e237b77689a1c2d253aecd563237 Reviewed-by: Paolo Angelelli --- src/plugins/platforms/android/qandroidinputcontext.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp index 250bcae58a..0fa0af8912 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.cpp +++ b/src/plugins/platforms/android/qandroidinputcontext.cpp @@ -709,6 +709,7 @@ void QAndroidInputContext::touchDown(int x, int y) m_handleMode = ShowCursor; // The VK will appear in a moment, stop the timer m_hideCursorHandleTimer.stop(); + finishComposingText(); QMetaObject::invokeMethod(this, "updateSelectionHandles", Qt::QueuedConnection); } } @@ -720,6 +721,8 @@ void QAndroidInputContext::longPress(int x, int y) return; if (m_focusObject && inputItemRectangle().contains(x, y)) { + finishComposingText(); + // Release left button, otherwise the following events will cancel the menu popup QtAndroidInput::releaseMouse(x, y); @@ -1242,6 +1245,7 @@ jboolean QAndroidInputContext::setSelection(jint start, jint end) jboolean QAndroidInputContext::selectAll() { + finishComposingText(); m_handleMode = ShowCursor; sendShortcut(QKeySequence::SelectAll); return JNI_TRUE; @@ -1249,6 +1253,7 @@ jboolean QAndroidInputContext::selectAll() jboolean QAndroidInputContext::cut() { + finishComposingText(); m_handleMode = ShowCursor; sendShortcut(QKeySequence::Cut); return JNI_TRUE; @@ -1256,6 +1261,7 @@ jboolean QAndroidInputContext::cut() jboolean QAndroidInputContext::copy() { + finishComposingText(); m_handleMode = ShowCursor; sendShortcut(QKeySequence::Copy); return JNI_TRUE; -- cgit v1.2.3