From 2992ebdcaa76eafc7aa2835367060fecc0067959 Mon Sep 17 00:00:00 2001 From: Alex Ross Date: Tue, 3 Dec 2024 12:16:21 +0100 Subject: [PATCH] Fix tree for empty children Found testing for #235109 --- src/vs/workbench/api/browser/mainThreadTreeViews.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/api/browser/mainThreadTreeViews.ts b/src/vs/workbench/api/browser/mainThreadTreeViews.ts index c61530258bc98..dc7ca02ac90c4 100644 --- a/src/vs/workbench/api/browser/mainThreadTreeViews.ts +++ b/src/vs/workbench/api/browser/mainThreadTreeViews.ts @@ -296,7 +296,7 @@ class TreeViewDataProvider implements ITreeViewDataProvider { } private convertTransferChildren(parents: ITreeItem[], children: (number | ITreeItem)[][] | undefined) { - const convertedChildren: ITreeItem[][] = Array(parents.length); + const convertedChildren: (ITreeItem[] | undefined)[] = Array(parents.length); if (children) { for (const childGroup of children) { const childGroupIndex = childGroup[0] as number; @@ -344,7 +344,7 @@ class TreeViewDataProvider implements ITreeViewDataProvider { return this.itemsMap.size === 0; } - private async postGetChildren(elementGroups: ITreeItem[][] | undefined): Promise { + private async postGetChildren(elementGroups: (ITreeItem[] | undefined)[] | undefined): Promise { if (elementGroups === undefined) { return undefined; } @@ -354,6 +354,9 @@ class TreeViewDataProvider implements ITreeViewDataProvider { for (const elements of elementGroups) { const result: ResolvableTreeItem[] = []; resultGroups.push(result); + if (!elements) { + continue; + } for (const element of elements) { const resolvable = new ResolvableTreeItem(element, hasResolve ? (token) => { return this._proxy.$resolve(this.treeViewId, element.handle, token);