From 00a97e3005d40c111f67a1d0193707b2292781c7 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Tue, 10 Jul 2018 21:55:59 +0300 Subject: [PATCH] IDEA-189742: update presentation for parent folders of removed files --- .../ide/projectView/impl/AsyncProjectViewSupport.java | 5 +++++ .../src/com/intellij/ide/scopeView/ScopeViewTreeModel.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AsyncProjectViewSupport.java b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AsyncProjectViewSupport.java index 119ea7ad7d35..f627b6cd2baf 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/impl/AsyncProjectViewSupport.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/impl/AsyncProjectViewSupport.java @@ -225,6 +225,11 @@ class AsyncProjectViewSupport { } private void updatePresentationsFromRootTo(@NotNull VirtualFile file) { + // find first valid parent for removed file + while (!file.isValid()) { + file = file.getParent(); + if (file == null) return; + } SmartList list = new SmartList<>(); acceptAndUpdate(new ProjectViewFileVisitor(file, null) { @NotNull diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java index c8e386e6d1be..f93b9d94bd8b 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewTreeModel.java @@ -273,6 +273,11 @@ public final class ScopeViewTreeModel extends BaseTreeModel im } private void notifyPresentationChanged(@NotNull VirtualFile file) { + // find first valid parent for removed file + while (!file.isValid()) { + file = file.getParent(); + if (file == null) return; + } List list = new SmartList<>(); find(file, list, found -> { list.forEach(node -> update(node, false));