Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37e169cd authored by satok's avatar satok
Browse files

Add a safety net to set range span in the spell checker

Bug: 6476578
Change-Id: I60ad82f80770dcb67fd9663dac64dc81634d7014
parent fa61f0b2
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -473,8 +473,16 @@ public class SpellChecker implements SpellCheckerSessionListener {
        private Object mRange = new Object();
        private Object mRange = new Object();


        public void parse(int start, int end) {
        public void parse(int start, int end) {
            if (end > start) {
            final int max = mTextView.length();
                setRangeSpan((Editable) mTextView.getText(), start, end);
            final int parseEnd;
            if (end > max) {
                Log.w(TAG, "Parse invalid region, from " + start + " to " + end);
                parseEnd = max;
            } else {
                parseEnd = end;
            }
            if (parseEnd > start) {
                setRangeSpan((Editable) mTextView.getText(), start, parseEnd);
                parse();
                parse();
            }
            }
        }
        }
@@ -612,6 +620,8 @@ public class SpellChecker implements SpellCheckerSessionListener {
                        break;
                        break;
                    }
                    }
                    if (spellCheckEnd <= spellCheckStart) {
                    if (spellCheckEnd <= spellCheckStart) {
                        Log.w(TAG, "Trying to spellcheck invalid region, from "
                                + start + " to " + end);
                        break;
                        break;
                    }
                    }
                    if (createSpellCheckSpan) {
                    if (createSpellCheckSpan) {