From 5da5395c9e0b8e68a30839e3d6b08efc45620522 Mon Sep 17 00:00:00 2001 From: "peter.gromov" Date: Tue, 28 Sep 2010 15:46:41 +0400 Subject: [PATCH] check position validity before every completion provider --- .../codeInsight/completion/AbstractCompletionContributor.java | 3 ++- .../intellij/codeInsight/completion/CompletionProvider.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java b/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java index 8eab3559f61f..8628ac28d2a6 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/AbstractCompletionContributor.java @@ -42,7 +42,8 @@ public abstract class AbstractCompletionContributor() { public Boolean compute() { - return pattern.accepts(parameters.getPosition(), context); + PsiElement position = parameters.getPosition(); + return position.isValid() && pattern.accepts(position, context); } }).booleanValue(); } diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java index fab4c674a441..ee7937d06903 100644 --- a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java +++ b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionProvider.java @@ -39,7 +39,9 @@ public abstract class CompletionProvider { if (myStartInReadAction) { ApplicationManager.getApplication().runReadAction(new Runnable() { public void run() { - addCompletions(parameters, context, result); + if (parameters.getPosition().isValid()) { + addCompletions(parameters, context, result); + } } }); } else {