From c3ee276222ff69904a4bbe7b97dce3514c6412a3 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Wed, 13 Dec 2017 17:07:54 +0300 Subject: [PATCH] inspection view: collect unpresent files in listener after processor execution --- .../codeInspection/ui/InspectionViewChangeAdapter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionViewChangeAdapter.java b/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionViewChangeAdapter.java index 81194a7602f0..3b3b430a98da 100644 --- a/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionViewChangeAdapter.java +++ b/platform/lang-impl/src/com/intellij/codeInspection/ui/InspectionViewChangeAdapter.java @@ -139,8 +139,8 @@ class InspectionViewChangeAdapter extends PsiTreeChangeAdapter { filesToCheck = new THashSet<>(myFilesToProcess); myFilesToProcess.clear(); } + Set unPresentFiles = new THashSet<>(filesToCheck); if (!filesToCheck.isEmpty()) { - Set unPresentFiles = new THashSet<>(filesToCheck); Processor fileCheckProcessor = (node) -> { if (myView.isDisposed()) { return false; @@ -166,13 +166,16 @@ class InspectionViewChangeAdapter extends PsiTreeChangeAdapter { return true; }; nodeProcessor = CompositeProcessor.combine(fileCheckProcessor, nodeProcessor); - myUnPresentEditedFiles.addAll(unPresentFiles); } synchronized (myView.getTreeStructureUpdateLock()) { processNodesIfNeed(myView.getTree().getRoot(), Objects.requireNonNull(nodeProcessor)); } + if (!unPresentFiles.isEmpty()) { + myUnPresentEditedFiles.addAll(unPresentFiles); + } + if (needUpdateUI[0] && !myAlarm.isDisposed()) { myAlarm.cancelAllRequests(); myAlarm.addRequest(() -> myView.resetTree(), 100, ModalityState.NON_MODAL);