From 39e24608edc8d937af6560978eff2b9693e1f445 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Wed, 9 Jan 2019 16:52:35 +0100 Subject: [PATCH] tree: fix dnd auto expand timeout --- src/vs/base/browser/ui/tree/abstractTree.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/vs/base/browser/ui/tree/abstractTree.ts b/src/vs/base/browser/ui/tree/abstractTree.ts index 90dc2031d9b..b91ee43373d 100644 --- a/src/vs/base/browser/ui/tree/abstractTree.ts +++ b/src/vs/base/browser/ui/tree/abstractTree.ts @@ -37,17 +37,18 @@ class TreeNodeListDragAndDrop implements IListDragAndDrop< onDragOver(data: IDragAndDropData, targetNode: ITreeNode | undefined, targetIndex: number | undefined, originalEvent: DragEvent, raw = true): boolean | IListDragOverReaction { const result = this.dnd.onDragOver(data, targetNode && targetNode.element, targetIndex, originalEvent); + const didChangeAutoExpandNode = this.autoExpandNode !== targetNode; + + if (didChangeAutoExpandNode) { + this.autoExpandDisposable.dispose(); + this.autoExpandNode = targetNode; + } if (typeof targetNode === 'undefined') { return result; } - if (this.autoExpandNode !== targetNode) { - this.autoExpandDisposable.dispose(); - this.autoExpandNode = targetNode; - } - - if (typeof result !== 'boolean' && result.autoExpand) { + if (didChangeAutoExpandNode && typeof result !== 'boolean' && result.autoExpand) { this.autoExpandDisposable = timeout(() => { const model = this.modelProvider(); const ref = model.getNodeLocation(targetNode);