From db5e188ac284d64b9d9b977cfabb1ca9ecd54c79 Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Fri, 14 Oct 2016 14:08:28 +0300 Subject: [PATCH] EA-89693 - NPE: ContentEntryEditor.isExcludedOrUnderExcludedDirectory --- .../ui/configuration/ContentEntryEditor.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ContentEntryEditor.java b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ContentEntryEditor.java index a905dd56e542..a9e9a497add1 100644 --- a/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ContentEntryEditor.java +++ b/platform/lang-impl/src/com/intellij/openapi/roots/ui/configuration/ContentEntryEditor.java @@ -287,21 +287,24 @@ public abstract class ContentEntryEditor implements ContentRootPanel.ActionCallb return folder != null ? folder.getRootType() : null; } - public boolean isExcludedOrUnderExcludedDirectory(@NotNull final VirtualFile file) { - Project project = getModel().getProject(); - final ContentEntry contentEntry = getContentEntry(); + public boolean isExcludedOrUnderExcludedDirectory(@NotNull VirtualFile file) { + ModifiableRootModel model = getModel(); + Project project = model != null ? model.getProject() : null; + ContentEntry contentEntry = getContentEntry(); if (contentEntry == null) { return false; } return isExcludedOrUnderExcludedDirectory(project, contentEntry, file); } - public static boolean isExcludedOrUnderExcludedDirectory(@NotNull Project project, + public static boolean isExcludedOrUnderExcludedDirectory(@Nullable Project project, @NotNull ContentEntry entry, @NotNull VirtualFile file) { List excludedFiles = ContainerUtil.newArrayList(entry.getExcludeFolderFiles()); - for (DirectoryIndexExcludePolicy policy : DirectoryIndexExcludePolicy.getExtensions(project)) { - ContainerUtil.addAllNotNull(excludedFiles, policy.getExcludeRootsForProject()); + if (project != null) { + for (DirectoryIndexExcludePolicy policy : DirectoryIndexExcludePolicy.getExtensions(project)) { + ContainerUtil.addAllNotNull(excludedFiles, policy.getExcludeRootsForProject()); + } } for (VirtualFile excludedFile : excludedFiles) { if (VfsUtilCore.isAncestor(excludedFile, file, false)) {