From 6965f5ca81e144e28a1c6b555fc156c1c7296032 Mon Sep 17 00:00:00 2001 From: isidor Date: Fri, 8 Mar 2019 12:14:35 +0100 Subject: [PATCH] fixes #68687 --- .../contrib/debug/browser/debugCommands.ts | 28 ++++++++----------- .../debug/electron-browser/variablesView.ts | 2 +- .../electron-browser/watchExpressionsView.ts | 2 +- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/vs/workbench/contrib/debug/browser/debugCommands.ts b/src/vs/workbench/contrib/debug/browser/debugCommands.ts index c6c81ba91b4..27f08f56d67 100644 --- a/src/vs/workbench/contrib/debug/browser/debugCommands.ts +++ b/src/vs/workbench/contrib/debug/browser/debugCommands.ts @@ -92,11 +92,10 @@ export function registerCommands(): void { const debugService = accessor.get(IDebugService); const focused = listService.lastFocusedList; - // Tree only - if (focused && !(focused instanceof List)) { - const element = focused.getFocus(); - if (element instanceof Expression) { - debugService.getViewModel().setSelectedExpression(element); + if (focused) { + const elements = focused.getFocus(); + if (Array.isArray(elements) && elements[0] instanceof Expression) { + debugService.getViewModel().setSelectedExpression(elements[0]); } } } @@ -113,11 +112,10 @@ export function registerCommands(): void { const debugService = accessor.get(IDebugService); const focused = listService.lastFocusedList; - // Tree only - if (focused && !(focused instanceof List)) { - const element = focused.getFocus(); - if (element instanceof Variable) { - debugService.getViewModel().setSelectedExpression(element); + if (focused) { + const elements = focused.getFocus(); + if (Array.isArray(elements) && elements[0] instanceof Variable) { + debugService.getViewModel().setSelectedExpression(elements[0]); } } } @@ -134,11 +132,10 @@ export function registerCommands(): void { const debugService = accessor.get(IDebugService); const focused = listService.lastFocusedList; - // Tree only - if (focused && !(focused instanceof List)) { - const element = focused.getFocus(); - if (element instanceof Expression) { - debugService.removeWatchExpressions(element.getId()); + if (focused) { + const elements = focused.getFocus(); + if (Array.isArray(elements) && elements[0] instanceof Expression) { + debugService.removeWatchExpressions(elements[0].getId()); } } } @@ -155,7 +152,6 @@ export function registerCommands(): void { const debugService = accessor.get(IDebugService); const list = listService.lastFocusedList; - // Tree only if (list instanceof List) { const focused = list.getFocusedElements(); const element = focused.length ? focused[0] : undefined; diff --git a/src/vs/workbench/contrib/debug/electron-browser/variablesView.ts b/src/vs/workbench/contrib/debug/electron-browser/variablesView.ts index 20d98eb2be3..c99a320ece3 100644 --- a/src/vs/workbench/contrib/debug/electron-browser/variablesView.ts +++ b/src/vs/workbench/contrib/debug/electron-browser/variablesView.ts @@ -86,7 +86,7 @@ export class VariablesView extends ViewletPanel { this.tree.setInput(this.debugService.getViewModel()).then(null, onUnexpectedError); - CONTEXT_VARIABLES_FOCUSED.bindTo(this.contextKeyService.createScoped(treeContainer)); + CONTEXT_VARIABLES_FOCUSED.bindTo(this.tree.contextKeyService); const collapseAction = new CollapseAction(this.tree, true, 'explorer-action collapse-explorer'); this.toolbar.setActions([collapseAction])(); diff --git a/src/vs/workbench/contrib/debug/electron-browser/watchExpressionsView.ts b/src/vs/workbench/contrib/debug/electron-browser/watchExpressionsView.ts index 5b6e4b3e60f..4cc548d6a97 100644 --- a/src/vs/workbench/contrib/debug/electron-browser/watchExpressionsView.ts +++ b/src/vs/workbench/contrib/debug/electron-browser/watchExpressionsView.ts @@ -63,7 +63,6 @@ export class WatchExpressionsView extends ViewletPanel { renderBody(container: HTMLElement): void { dom.addClass(container, 'debug-watch'); const treeContainer = renderViewTree(container); - CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bindTo(this.contextKeyService.createScoped(treeContainer)); const expressionsRenderer = this.instantiationService.createInstance(WatchExpressionsRenderer); this.tree = new WorkbenchAsyncDataTree(treeContainer, new WatchExpressionsDelegate(), [expressionsRenderer, this.instantiationService.createInstance(VariablesRenderer)], @@ -76,6 +75,7 @@ export class WatchExpressionsView extends ViewletPanel { }, this.contextKeyService, this.listService, this.themeService, this.configurationService, this.keybindingService); this.tree.setInput(this.debugService).then(undefined, onUnexpectedError); + CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bindTo(this.tree.contextKeyService); const addWatchExpressionAction = new AddWatchExpressionAction(AddWatchExpressionAction.ID, AddWatchExpressionAction.LABEL, this.debugService, this.keybindingService); const collapseAction = new CollapseAction(this.tree, true, 'explorer-action collapse-explorer'); -- GitLab