actionBar: always dispose action items for now. Debug always recreate focusProcessActionItem

#23822
This commit is contained in:
isidor
2017-04-04 16:23:00 +02:00
parent 1798d26231
commit 742c299891
2 changed files with 3 additions and 10 deletions
@@ -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;
@@ -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;