From 1661aa930edf20554c4fd3115d67b35e0cbcf31d Mon Sep 17 00:00:00 2001 From: Rachel Macfarlane Date: Mon, 15 Apr 2019 09:25:15 -0700 Subject: [PATCH] Fix #72224, git extension not sending repository selection event --- src/vs/workbench/contrib/scm/browser/scmViewlet.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/scm/browser/scmViewlet.ts b/src/vs/workbench/contrib/scm/browser/scmViewlet.ts index 7553f2ebec8..0b0cba6c374 100644 --- a/src/vs/workbench/contrib/scm/browser/scmViewlet.ts +++ b/src/vs/workbench/contrib/scm/browser/scmViewlet.ts @@ -1060,10 +1060,10 @@ export class SCMViewlet extends ViewContainerViewlet implements IViewModel { const visibleViewDescriptors = this.viewsModel.visibleViewDescriptors; const toSetVisible = this.viewsModel.viewDescriptors - .filter(d => d instanceof RepositoryViewDescriptor && repositories.indexOf(d.repository) > -1 && visibleViewDescriptors.indexOf(d) === -1); + .filter((d): d is RepositoryViewDescriptor => d instanceof RepositoryViewDescriptor && repositories.indexOf(d.repository) > -1 && visibleViewDescriptors.indexOf(d) === -1); const toSetInvisible = visibleViewDescriptors - .filter(d => d instanceof RepositoryViewDescriptor && repositories.indexOf(d.repository) === -1); + .filter((d): d is RepositoryViewDescriptor => d instanceof RepositoryViewDescriptor && repositories.indexOf(d.repository) === -1); let size: number | undefined; const oneToOne = toSetVisible.length === 1 && toSetInvisible.length === 1; @@ -1077,10 +1077,12 @@ export class SCMViewlet extends ViewContainerViewlet implements IViewModel { } } + viewDescriptor.repository.setSelected(false); this.viewsModel.setVisible(viewDescriptor.id, false); } for (const viewDescriptor of toSetVisible) { + viewDescriptor.repository.setSelected(true); this.viewsModel.setVisible(viewDescriptor.id, true, size); } } -- GitLab