diff --git a/plugins/devkit/src/references/IconsReferencesContributor.java b/plugins/devkit/src/references/IconsReferencesContributor.java index 8b4ae248bc38..0ef0dcf01988 100644 --- a/plugins/devkit/src/references/IconsReferencesContributor.java +++ b/plugins/devkit/src/references/IconsReferencesContributor.java @@ -17,12 +17,14 @@ package org.jetbrains.idea.devkit.references; import com.intellij.find.FindModel; import com.intellij.find.impl.FindInProjectUtil; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.fileTypes.FileTypeManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.module.ModuleUtil; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModuleRootManager; +import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.ProperTextRange; import com.intellij.openapi.util.io.FileUtil; @@ -184,7 +186,13 @@ public class IconsReferencesContributor extends PsiReferenceContributor implemen public boolean execute(@NotNull ReferencesSearch.SearchParameters queryParameters, @NotNull Processor consumer) { final PsiElement file = queryParameters.getElementToSearch(); if (file instanceof PsiBinaryFile) { - final Module module = ModuleUtil.findModuleForPsiElement(file); + final Module module = ApplicationManager.getApplication().runReadAction(new Computable() { + @Override + public Module compute() { + return ModuleUtil.findModuleForPsiElement(file); + } + }); + final VirtualFile image = ((PsiBinaryFile)file).getVirtualFile(); if (isImage(image) && isIconsModule(module)) { final Project project = file.getProject();