OSDN Git Service

Prevent SpellChecker from setting invalid range - DO NOT MERGE
authorJay Shrauner <shrauner@google.com>
Fri, 7 Feb 2014 21:28:59 +0000 (13:28 -0800)
committerJay Shrauner <shrauner@google.com>
Thu, 6 Mar 2014 22:29:12 +0000 (22:29 +0000)
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

index b204dfd..1cda631 100644 (file)
@@ -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);
             }