From d3fc7949db6bc7e2b6ea9aa605b8f992690a21be Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Thu, 19 Nov 2015 19:56:50 +0300 Subject: [PATCH] IDEA-145355 Fixed dirty scope changes accumulation while "ChangeListManager" is frozen for update requests utilizing "dirty scope manager filler" (Consumer) instead of direct dirty scope modifications --- .../openapi/vcs/changes/UpdateRequestsQueue.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UpdateRequestsQueue.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UpdateRequestsQueue.java index bdc806669ae0..895886510734 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UpdateRequestsQueue.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/UpdateRequestsQueue.java @@ -188,15 +188,11 @@ public class UpdateRequestsQueue { LOG.debug("invokeAfterUpdate for project: " + myProject.getName()); final CallbackData data = CallbackData.create(afterUpdate, title, state, mode, myProject); - VcsDirtyScopeManagerProxy managerProxy = null; if (dirtyScopeManagerFiller != null) { - managerProxy = new VcsDirtyScopeManagerProxy(); - dirtyScopeManagerFiller.consume(managerProxy); - } + VcsDirtyScopeManagerProxy managerProxy = new VcsDirtyScopeManagerProxy(); - // can ask stopped without a lock - if (! myStopped) { - if (managerProxy != null) { + dirtyScopeManagerFiller.consume(managerProxy); + if (!myProject.isDisposed()) { managerProxy.callRealManager(VcsDirtyScopeManager.getInstance(myProject)); } }