aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2014-01-07 15:12:16 +0900
committerJean Chalard <jchalard@google.com>2014-01-07 15:33:04 +0900
commit42e83c7f06a1683b27a11564aeb9f3999b10382f (patch)
tree3f7f8926121acb47ff157647fa092b5487704bc6 /java/src
parent6d5f9fd3d1ee903f9355905326cd75e7ee603d4e (diff)
downloadlatinime-42e83c7f06a1683b27a11564aeb9f3999b10382f.tar.gz
latinime-42e83c7f06a1683b27a11564aeb9f3999b10382f.tar.xz
latinime-42e83c7f06a1683b27a11564aeb9f3999b10382f.zip
Fix a race condition.
Don't use absolute cursor positions, this leads to race conditions. Bug: 12390573 Change-Id: I6f04f07a46babbc3d51cb94c7eaee21bed242396
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
index b365003a5..c867ab3d3 100644
--- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
+++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java
@@ -1113,8 +1113,11 @@ public final class InputLogic {
keyboardSwitcher.getKeyboard());
mWordComposer.setCursorPositionWithinWord(
typedWord.codePointCount(0, numberOfCharsInWordBeforeCursor));
- mConnection.setComposingRegion(expectedCursorPosition - numberOfCharsInWordBeforeCursor,
- expectedCursorPosition + range.getNumberOfCharsInWordAfterCursor());
+ // TODO: Change these two lines to setComposingRegion(cursorPosition,
+ // cursorPosition + range.getNumberOfCharsInWordAfterCursor());
+ mConnection.deleteSurroundingText(numberOfCharsInWordBeforeCursor,
+ typedWord.length() - numberOfCharsInWordBeforeCursor);
+ mConnection.setComposingText(typedWord, 1);
if (suggestions.isEmpty()) {
// We come here if there weren't any suggestion spans on this word. We will try to
// compute suggestions for it instead.