From 7c6399f8ec79e3c13b01498fcdf51bf4b9a87cf9 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Wed, 2 Feb 2005 20:39:21 +0300 Subject: [PATCH] (no message) --- .../openapi/vcs/impl/ProjectLevelVcsManagerImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java b/source/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java index 47b566ffb350..e3c9f8c9ae59 100644 --- a/source/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java +++ b/source/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java @@ -81,6 +81,7 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme private static Logger LOG = Logger.getInstance("#com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl"); private List myVcss = new ArrayList(); + private AbstractVcs[] myCachedVCSs = null; private final Project myProject; private final Map myVcsToStatus = new HashMap(); private com.intellij.util.containers.HashMap myLineStatusTrackers = @@ -109,6 +110,7 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme myVcsToStatus.put(vcs, Boolean.FALSE); } myVcss.add(vcs); + myCachedVCSs = null; } public AbstractVcs findVcsByName(String name) { @@ -129,7 +131,10 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme public AbstractVcs[] getAllVcss() { LOG.assertTrue(!myIsDisposed); LOG.assertTrue(myIsInitialized); - return myVcss.toArray(new AbstractVcs[myVcss.size()]); + if (myCachedVCSs == null) { + myCachedVCSs = myVcss.toArray(new AbstractVcs[myVcss.size()]); + } + return myCachedVCSs; } @@ -246,6 +251,7 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme e.printStackTrace(); } myVcss.remove(vcs); + myCachedVCSs = null; } private Project getProject() {