From c35d9bc3dfd65816a347e603a826534de84223e1 Mon Sep 17 00:00:00 2001 From: irengrig Date: Tue, 2 Aug 2011 19:53:43 +0400 Subject: [PATCH] deadlock in Change list manager vs current revisions cache --- .../intellij/openapi/vcs/changes/ChangeListManagerImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java index 4fdcc35aed03..ec4fd2e4a2ef 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangeListManagerImpl.java @@ -397,7 +397,8 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec // update IDEA-level ignored files updateIgnoredFiles(dataHolder.getComposite()); } - + + clearCurrentRevisionsCache(invalidated); synchronized (myDataLock) { // do same modifications to change lists as was done during update + do delayed notifications dataHolder.notifyEnd(); @@ -405,7 +406,6 @@ public class ChangeListManagerImpl extends ChangeListManagerEx implements Projec myModifier.finishUpdate(dataHolder.getChangeListWorker()); // update member from copy if (takeChanges) { - clearCurrentRevisionsCache(invalidated); final ChangeListWorker oldWorker = myWorker; myWorker = dataHolder.getChangeListWorker(); myWorker.onAfterWorkerSwitch(oldWorker);