From a6e490d16fbad63dc2c2e2691da350e6041c31d5 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 11 May 2012 18:20:21 +0400 Subject: [PATCH] EA-36081 - NPE: ScopeTreeViewPanel.fileStatusChanged --- .../ide/scopeView/ScopeTreeViewPanel.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java index 70192025406e..4bd0ce266aeb 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeTreeViewPanel.java @@ -49,7 +49,6 @@ import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.ModuleRootAdapter; import com.intellij.openapi.roots.ModuleRootEvent; -import com.intellij.openapi.roots.ModuleRootListener; import com.intellij.openapi.roots.ui.configuration.actions.ModuleDeleteProvider; import com.intellij.openapi.util.ActionCallback; import com.intellij.openapi.util.Disposer; @@ -133,14 +132,17 @@ public class ScopeTreeViewPanel extends JPanel implements Disposable { public void fileStatusChanged(@NotNull VirtualFile virtualFile) { if (!virtualFile.isValid()) return; final PsiFile file = PsiManager.getInstance(myProject).findFile(virtualFile); - if (file != null && getCurrentScope().getValue().contains(file, NamedScopesHolder.getHolder(myProject, getCurrentScope().getName(), - myDependencyValidationManager))) { - if (!myBuilder.hasFileNode(virtualFile)) return; - final PackageDependenciesNode node = myBuilder.getFileParentNode(virtualFile); - final PackageDependenciesNode[] nodes = FileTreeModelBuilder.findNodeForPsiElement(node, file); - if (nodes != null) { - for (PackageDependenciesNode dependenciesNode : nodes) { - dependenciesNode.updateColor(); + if (file != null) { + final NamedScope currentScope = getCurrentScope(); + final PackageSet value = currentScope.getValue(); + if (value != null && value.contains(file, NamedScopesHolder.getHolder(myProject, currentScope.getName(), myDependencyValidationManager))) { + if (!myBuilder.hasFileNode(virtualFile)) return; + final PackageDependenciesNode node = myBuilder.getFileParentNode(virtualFile); + final PackageDependenciesNode[] nodes = FileTreeModelBuilder.findNodeForPsiElement(node, file); + if (nodes != null) { + for (PackageDependenciesNode dependenciesNode : nodes) { + dependenciesNode.updateColor(); + } } } }