aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-01-12 11:09:10 +0900
committerJean Chalard <jchalard@google.com>2012-01-12 11:55:40 +0900
commit9de5cfc67a4e349c547e40678add27cdd6ca8490 (patch)
tree782395a3e68657741f27e96247c76538891e1267 /java/src
parent8c111043b8e08d3b058f7508d23b5e6c078c7534 (diff)
downloadlatinime-9de5cfc67a4e349c547e40678add27cdd6ca8490.tar.gz
latinime-9de5cfc67a4e349c547e40678add27cdd6ca8490.tar.xz
latinime-9de5cfc67a4e349c547e40678add27cdd6ca8490.zip
Fix a crash where revertSwap would be wrongly called
This would crash the program when inputting a punctuation symbol that should not swap with a weak space through the suggestion strip, then press backspace. Those include all two-part punctuation symbols in French for example, as well as magic space strippers like the dash in English. For English all suggestion strips symbols happen to be magic space swappers so this would not happen in English by default. Also fix a typo. Change-Id: Ia40678c264e978509b5786290a75a3c57181648e
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 4cb60558c..d07bd9bc0 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1202,7 +1202,8 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// swap it, and override the space state with SPACESTATE_SWAP_PUNCTUATION.
// To swap it, we fool handleSeparator to think the previous space state was a
// magic space.
- if (Keyboard.CODE_SPACE == toLeft && mSpaceState == SPACE_STATE_WEAK) {
+ if (Keyboard.CODE_SPACE == toLeft && mSpaceState == SPACE_STATE_WEAK
+ && mSettingsValues.isMagicSpaceSwapper(code))) {
mSpaceState = SPACE_STATE_MAGIC;
shouldRegisterSwapPunctuation = true;
} else {
@@ -2180,7 +2181,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
// enter surrogate pairs this code will have been removed.
if (Keyboard.CODE_SPACE != textBeforeCursor.charAt(1)) {
// We should not have come here if the text before the cursor is not a space.
- throw new RuntimeException("Tried to revert a swap of punctiation but we didn't "
+ throw new RuntimeException("Tried to revert a swap of punctuation but we didn't "
+ "find a space just before the cursor.");
}
ic.beginBatchEdit();