From f92cc7bbecb30be8f28494ca1eb2695893297ca8 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 2 Nov 2016 17:48:30 +0100 Subject: [PATCH] call GeneratedSourcesFilter in a read action --- .../com/intellij/openapi/roots/GeneratedSourcesFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/analysis-api/src/com/intellij/openapi/roots/GeneratedSourcesFilter.java b/platform/analysis-api/src/com/intellij/openapi/roots/GeneratedSourcesFilter.java index bda376666f62..0e0edd506635 100644 --- a/platform/analysis-api/src/com/intellij/openapi/roots/GeneratedSourcesFilter.java +++ b/platform/analysis-api/src/com/intellij/openapi/roots/GeneratedSourcesFilter.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.roots; +import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.extensions.ExtensionPointName; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; @@ -32,7 +33,8 @@ public abstract class GeneratedSourcesFilter { public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.generatedSourcesFilter"); public static boolean isGeneratedSourceByAnyFilter(@NotNull VirtualFile file, @NotNull Project project) { - return Arrays.stream(EP_NAME.getExtensions()).anyMatch(filter -> filter.isGeneratedSource(file, project)); + return ReadAction.compute(() -> !project.isDisposed() && + Arrays.stream(EP_NAME.getExtensions()).anyMatch(filter -> filter.isGeneratedSource(file, project))); } public abstract boolean isGeneratedSource(@NotNull VirtualFile file, @NotNull Project project);