From 6e630ff2beeed5865f9e1460d02457654d318c80 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 3 Feb 2011 17:04:26 +0300 Subject: [PATCH] exception --- .../com/intellij/find/findUsages/FindUsagesManager.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java b/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java index 914bc3ee467d..05fece7ba711 100644 --- a/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java +++ b/platform/lang-impl/src/com/intellij/find/findUsages/FindUsagesManager.java @@ -362,7 +362,7 @@ public class FindUsagesManager implements JDOMExternalizable { return processor.process(UsageInfoToUsageConverter.convert(descriptor, usageInfo)); } }); - List elements = + final List elements = ApplicationManager.getApplication().runReadAction(new Computable>() { public List compute() { return descriptor.getAllElements(); @@ -381,7 +381,12 @@ public class FindUsagesManager implements JDOMExternalizable { handler.processElementUsages(element, usageInfoProcessor, options); } - PsiManager.getInstance(handler.getProject()).getSearchHelper().processRequests(options.fastTrack, new ReadActionProcessor() { + Project project = ApplicationManager.getApplication().runReadAction(new Computable() { + public Project compute() { + return scopeFile != null ? scopeFile.getProject() : !elements.isEmpty() ? elements.get(0).getProject() : handler.getProject(); + } + }); + PsiManager.getInstance(project).getSearchHelper().processRequests(options.fastTrack, new ReadActionProcessor() { public boolean processInReadAction(final PsiReference ref) { TextRange rangeInElement = ref.getRangeInElement(); return usageInfoProcessor.process(new UsageInfo(ref.getElement(), rangeInElement.getStartOffset(), rangeInElement.getEndOffset(), false));