From 58d0639ac12c61ba20ac333e19689c1a91bc2f48 Mon Sep 17 00:00:00 2001 From: Alex Ross Date: Fri, 2 Aug 2019 17:19:36 +0200 Subject: [PATCH] Workaround for #78388 (twistie not updating on has children change) (#78390) * Workaround for #78388 (twistie not updating on has children change) Fixes #78389 --- src/vs/workbench/browser/parts/views/customView.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/browser/parts/views/customView.ts b/src/vs/workbench/browser/parts/views/customView.ts index d6557daf7a1..b4ab237e31c 100644 --- a/src/vs/workbench/browser/parts/views/customView.ts +++ b/src/vs/workbench/browser/parts/views/customView.ts @@ -597,8 +597,16 @@ export class CustomTreeView extends Disposable implements ITreeView { private async doRefresh(elements: ITreeItem[]): Promise { if (this.tree) { this.refreshing = true; - await Promise.all(elements.map(element => this.tree.updateChildren(element, true))); - elements.map(element => this.tree.rerender(element)); + const parents: Set = new Set(); + elements.forEach(element => { + if (element !== this.root) { + const parent = this.tree.getParentElement(element); + parents.add(parent); + } else { + parents.add(element); + } + }); + await Promise.all(Array.from(parents.values()).map(element => this.tree.updateChildren(element, true))); this.refreshing = false; this.updateContentAreas(); if (this.focused) {