From a3ea4be5425fc2a561290c08a9f5f31f374afc31 Mon Sep 17 00:00:00 2001 From: Jay Shrauner Date: Fri, 7 Feb 2014 13:28:59 -0800 Subject: Prevent SpellChecker from setting invalid range - DO NOT MERGE Add check for invalid range before setting for further check at end of parse() loop. Bug:12936072 Change-Id: Ie0b33b8e69fe47e5d3371640be5681f13a4e4f6e (cherry picked from commit ea4adf28474d949c51518a5abe6dbd3a3529cf29) --- core/java/android/widget/SpellChecker.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'core/java/android/widget') diff --git a/core/java/android/widget/SpellChecker.java b/core/java/android/widget/SpellChecker.java index b204dfd..1cda631 100644 --- a/core/java/android/widget/SpellChecker.java +++ b/core/java/android/widget/SpellChecker.java @@ -731,10 +731,14 @@ public class SpellChecker implements SpellCheckerSessionListener { } } - if (scheduleOtherSpellCheck) { + if (scheduleOtherSpellCheck && 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); } -- cgit v1.1