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;