diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java index 40be534520ef..056d4a99ae1b 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java @@ -571,6 +571,10 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement } public void addWatchedPrefix(int startOffset, ElementPattern restartCondition) { + int caret = myEditor.getCaretModel().getOffset(); + if (caret < startOffset) { + LOG.error("caret=" + caret + "; start=" + startOffset); + } myRestartingPrefixConditions.add(Pair.create(startOffset, restartCondition)); } @@ -578,7 +582,11 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement final CharSequence text = myEditor.getDocument().getCharsSequence(); final int caretOffset = myEditor.getCaretModel().getOffset(); for (Pair> pair : myRestartingPrefixConditions) { - final String newPrefix = text.subSequence(pair.first, caretOffset).toString(); + int start = pair.first; + if (caretOffset < start) { + LOG.error("caret=" + caretOffset + "; start=" + start); + } + final String newPrefix = text.subSequence(start, caretOffset).toString(); if (pair.second.accepts(newPrefix)) { scheduleRestart(); myRestartingPrefixConditions.clear();