From 0c2e0b2f96ea29a38898d8a5012e8726a2e66353 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 20 Nov 2013 15:39:14 +0400 Subject: [PATCH] read action --- .../intellij/psi/search/SearchRequestCollector.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/indexing-api/src/com/intellij/psi/search/SearchRequestCollector.java b/platform/indexing-api/src/com/intellij/psi/search/SearchRequestCollector.java index f11b5fbf9b65..fef43be72ba5 100644 --- a/platform/indexing-api/src/com/intellij/psi/search/SearchRequestCollector.java +++ b/platform/indexing-api/src/com/intellij/psi/search/SearchRequestCollector.java @@ -16,6 +16,8 @@ package com.intellij.psi.search; import com.intellij.codeInsight.ContainerProvider; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFileSystemItem; @@ -82,9 +84,14 @@ public class SearchRequestCollector { searchWord(word, searchScope, searchContext, caseSensitive, getContainerName(searchTarget), processor); } - private static String getContainerName(@NotNull PsiElement target) { - PsiElement container = getContainer(target); - return container instanceof PsiNamedElement ? ((PsiNamedElement)container).getName() : null; + private static String getContainerName(@NotNull final PsiElement target) { + return ApplicationManager.getApplication().runReadAction(new Computable() { + @Override + public String compute() { + PsiElement container = getContainer(target); + return container instanceof PsiNamedElement ? ((PsiNamedElement)container).getName() : null; + } + }); } private static PsiElement getContainer(@NotNull PsiElement refElement) {