From 4cdeeadd42bc11f6f5f60f5301c09025cabfc65f Mon Sep 17 00:00:00 2001 From: Roozbeh Pournader Date: Wed, 11 Mar 2015 11:09:34 -0700 Subject: [PATCH] Add a check for invalid spans being set by SpellChecker. One of the exit conditions of the loop immediately above the code is when a BreakIterator finishes its input and emits BreakIterator.DONE, which we were then mistakenly then using as a parameter for setting spans. Bug: 12936072 Bug: 5555929 Change-Id: Ib4aba113f2e7838cd040076160c1dd0fb90adb1a --- core/java/android/widget/SpellChecker.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java index 3592687d1f10..e7031fe51061 100644 --- a/core/java/android/widget/SpellChecker.java +++ b/core/java/android/widget/SpellChecker.java @@ -727,14 +727,10 @@ public class SpellChecker implements SpellCheckerSessionListener { } } - if (scheduleOtherSpellCheck && wordStart <= end) { + if (scheduleOtherSpellCheck && wordStart != BreakIterator.DONE && wordStart <= end) { // Update range span: start new spell check from last wordStart setRangeSpan(editable, wordStart, end); } else { - if (DBG && scheduleOtherSpellCheck) { - Log.w(TAG, "Trying to schedule spellcheck for invalid region, from " - + wordStart + " to " + end); - } removeRangeSpan(editable); } -- 2.11.0