From ca8d531d568425215e068a41f1f5c2bc46b680ec Mon Sep 17 00:00:00 2001 From: Olga Strizhenko Date: Fri, 4 Aug 2017 16:53:38 +0300 Subject: [PATCH] EA-103062: Wrong endOffset exception --- .../src/com/intellij/spellchecker/quickfixes/ChangeTo.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spellchecker/src/com/intellij/spellchecker/quickfixes/ChangeTo.java b/spellchecker/src/com/intellij/spellchecker/quickfixes/ChangeTo.java index dac0adc22bfb..82114b1c0fad 100644 --- a/spellchecker/src/com/intellij/spellchecker/quickfixes/ChangeTo.java +++ b/spellchecker/src/com/intellij/spellchecker/quickfixes/ChangeTo.java @@ -61,8 +61,10 @@ public class ChangeTo extends ShowSuggestions implements SpellCheckerQuickFix { } TextRange textRange = ((ProblemDescriptorBase)descriptor).getTextRange(); - editor.getSelectionModel().setSelection(textRange.getStartOffset(), textRange.getEndOffset()); - + final int documentLength = editor.getDocument().getTextLength(); + final int textEndOffset = textRange.getEndOffset(); + final int endOffset = textEndOffset <= documentLength ? textEndOffset : documentLength; + editor.getSelectionModel().setSelection(textRange.getStartOffset(), endOffset); String word = editor.getSelectionModel().getSelectedText(); if (word == null || StringUtil.isEmpty(word)) {