From 8bad13987d626bdf204a860effa3602e5bfa4b11 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Tue, 15 Aug 2017 18:12:43 +0200 Subject: [PATCH] fixes #32578 --- src/vs/workbench/api/node/extHostSCM.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/api/node/extHostSCM.ts b/src/vs/workbench/api/node/extHostSCM.ts index 76c7078dda9..126466f2f14 100644 --- a/src/vs/workbench/api/node/extHostSCM.ts +++ b/src/vs/workbench/api/node/extHostSCM.ts @@ -71,7 +71,8 @@ class ExtHostSourceControlResourceGroup implements vscode.SourceControlResourceG private static _handlePool: number = 0; private _resourceHandlePool: number = 0; - private _resourceStates: Map = new Map(); + private _resourceStates: vscode.SourceControlResourceState[] = []; + private _resourceStatesMap: Map = new Map(); get id(): string { return this._id; @@ -97,12 +98,17 @@ class ExtHostSourceControlResourceGroup implements vscode.SourceControlResourceG this._proxy.$updateGroup(this._sourceControlHandle, this._handle, { hideWhenEmpty }); } + get resourceStates(): vscode.SourceControlResourceState[] { + return [...this._resourceStates]; + } + set resourceStates(resources: vscode.SourceControlResourceState[]) { - this._resourceStates.clear(); + this._resourceStatesMap.clear(); + this._resourceStates = [...resources]; const rawResources = resources.map(r => { const handle = this._resourceHandlePool++; - this._resourceStates.set(handle, r); + this._resourceStatesMap.set(handle, r); const sourceUri = r.resourceUri.toString(); const command = this._commands.toInternal(r.command); @@ -144,7 +150,7 @@ class ExtHostSourceControlResourceGroup implements vscode.SourceControlResourceG } getResourceState(handle: number): vscode.SourceControlResourceState | undefined { - return this._resourceStates.get(handle); + return this._resourceStatesMap.get(handle); } dispose(): void {