From 742c29989198302185633de2fe8a254749f5d649 Mon Sep 17 00:00:00 2001 From: isidor Date: Tue, 4 Apr 2017 16:23:00 +0200 Subject: [PATCH] actionBar: always dispose action items for now. Debug always recreate focusProcessActionItem #23822 --- src/vs/base/browser/ui/actionbar/actionbar.ts | 5 ++--- .../workbench/parts/debug/browser/debugActionsWidget.ts | 8 +------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts index a49c5ee254f..d562716a1ad 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.ts +++ b/src/vs/base/browser/ui/actionbar/actionbar.ts @@ -554,8 +554,7 @@ export class ActionBar extends EventEmitter implements IActionRunner { } public clear(): void { - // Do not dispose action items if they were provided from outside - this.items = this.options.actionItemProvider ? [] : lifecycle.dispose(this.items); + this.items = lifecycle.dispose(this.items); $(this.actionsList).empty(); } @@ -670,7 +669,7 @@ export class ActionBar extends EventEmitter implements IActionRunner { public dispose(): void { if (this.items !== null) { - lifecycle.dispose(this.items); + this.clear(); } this.items = null; diff --git a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts index d3d055fbff3..354085853bd 100644 --- a/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts +++ b/src/vs/workbench/parts/debug/browser/debugActionsWidget.ts @@ -52,7 +52,6 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi private isVisible: boolean; private isBuilt: boolean; - private focusProcessActionItem: FocusProcessActionItem; constructor( @IMessageService private messageService: IMessageService, @@ -79,12 +78,7 @@ export class DebugActionsWidget extends Themable implements IWorkbenchContributi orientation: ActionsOrientation.HORIZONTAL, actionItemProvider: (action: IAction) => { if (action.id === FocusProcessAction.ID) { - if (!this.focusProcessActionItem) { - this.focusProcessActionItem = this.instantiationService.createInstance(FocusProcessActionItem, action); - this.toDispose.push(this.focusProcessActionItem); - } - - return this.focusProcessActionItem; + return this.instantiationService.createInstance(FocusProcessActionItem, action); } return null;