From 4f446cf856a8e84a69a6deb68ca5ffcc782e3a0c Mon Sep 17 00:00:00 2001 From: meganrogge Date: Thu, 28 Mar 2024 09:26:52 -0700 Subject: [PATCH 1/4] fix #207449 --- src/vs/workbench/contrib/tasks/browser/task.contribution.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/tasks/browser/task.contribution.ts b/src/vs/workbench/contrib/tasks/browser/task.contribution.ts index a0d2bb523f6..08e8292b60c 100644 --- a/src/vs/workbench/contrib/tasks/browser/task.contribution.ts +++ b/src/vs/workbench/contrib/tasks/browser/task.contribution.ts @@ -70,7 +70,7 @@ export class TaskStatusBarContributions extends Disposable implements IWorkbench private _registerListeners(): void { let promise: Promise | undefined = undefined; let resolve: (value?: void | Thenable) => void; - this._taskService.onDidStateChange(event => { + this._register(this._taskService.onDidStateChange(event => { if (event.kind === TaskEventKind.Changed) { this._updateRunningTasksStatus(); } @@ -116,7 +116,7 @@ export class TaskStatusBarContributions extends Disposable implements IWorkbench promise = undefined; }); } - }); + })); } private async _updateRunningTasksStatus(): Promise { From 7df05a7bc1b4782929400e5bc313f0c9eb66e62f Mon Sep 17 00:00:00 2001 From: meganrogge Date: Thu, 28 Mar 2024 09:27:37 -0700 Subject: [PATCH 2/4] fix #207438 --- src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts index 5605c99c5d8..5a001e31595 100644 --- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts +++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts @@ -337,9 +337,9 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer } return task._label; }); - this._lifecycleService.onBeforeShutdown(e => { + this._register(this._lifecycleService.onBeforeShutdown(e => { this._willRestart = e.reason !== ShutdownReason.RELOAD; - }); + })); this._register(this.onDidStateChange(e => { this._log(nls.localize('taskEvent', 'Task Event kind: {0}', e.kind), true); if (e.kind === TaskEventKind.Changed) { From 681256b081770347e25528e7225d9dfa0363a665 Mon Sep 17 00:00:00 2001 From: meganrogge Date: Thu, 28 Mar 2024 09:30:03 -0700 Subject: [PATCH 3/4] fix #207448 --- src/vs/workbench/api/browser/mainThreadTask.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/api/browser/mainThreadTask.ts b/src/vs/workbench/api/browser/mainThreadTask.ts index 8fe9a431321..9c37c597978 100644 --- a/src/vs/workbench/api/browser/mainThreadTask.ts +++ b/src/vs/workbench/api/browser/mainThreadTask.ts @@ -10,7 +10,7 @@ import { generateUuid } from 'vs/base/common/uuid'; import * as Types from 'vs/base/common/types'; import * as Platform from 'vs/base/common/platform'; import { IStringDictionary } from 'vs/base/common/collections'; -import { IDisposable } from 'vs/base/common/lifecycle'; +import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { IWorkspace, IWorkspaceContextService, IWorkspaceFolder } from 'vs/platform/workspace/common/workspace'; @@ -414,7 +414,7 @@ namespace TaskFilterDTO { } @extHostNamedCustomer(MainContext.MainThreadTask) -export class MainThreadTask implements MainThreadTaskShape { +export class MainThreadTask extends Disposable implements MainThreadTaskShape { private readonly _extHostContext: IExtHostContext | undefined; private readonly _proxy: ExtHostTaskShape; @@ -426,9 +426,10 @@ export class MainThreadTask implements MainThreadTaskShape { @IWorkspaceContextService private readonly _workspaceContextServer: IWorkspaceContextService, @IConfigurationResolverService private readonly _configurationResolverService: IConfigurationResolverService ) { + super(); this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostTask); this._providers = new Map(); - this._taskService.onDidStateChange(async (event: ITaskEvent) => { + this._register(this._taskService.onDidStateChange(async (event: ITaskEvent) => { if (event.kind === TaskEventKind.Changed) { return; } @@ -453,14 +454,15 @@ export class MainThreadTask implements MainThreadTaskShape { } else if (event.kind === TaskEventKind.End) { this._proxy.$OnDidEndTask(TaskExecutionDTO.from(task.getTaskExecution())); } - }); + })); } - public dispose(): void { + public override dispose(): void { for (const value of this._providers.values()) { value.disposable.dispose(); } this._providers.clear(); + super.dispose(); } $createTaskId(taskDTO: ITaskDTO): Promise { From 644e8d478696345f34aee1dc42f4245c88341def Mon Sep 17 00:00:00 2001 From: meganrogge Date: Thu, 28 Mar 2024 09:31:00 -0700 Subject: [PATCH 4/4] fix #207460 --- .../contrib/terminal/browser/terminalTabbedView.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.ts b/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.ts index 8cd412341c5..18dc14fe936 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.ts @@ -107,7 +107,7 @@ export class TerminalTabbedView extends Disposable { this._tabTreeIndex = this._terminalService.configHelper.config.tabs.location === 'left' ? 0 : 1; this._terminalContainerIndex = this._terminalService.configHelper.config.tabs.location === 'left' ? 1 : 0; - _configurationService.onDidChangeConfiguration(e => { + this._register(_configurationService.onDidChangeConfiguration(e => { if (e.affectsConfiguration(TerminalSettingId.TabsEnabled) || e.affectsConfiguration(TerminalSettingId.TabsHideCondition)) { this._refreshShowTabs(); @@ -121,20 +121,20 @@ export class TerminalTabbedView extends Disposable { this._splitView.resizeView(this._tabTreeIndex, this._getLastListWidth()); } } - }); + })); this._register(this._terminalGroupService.onDidChangeInstances(() => this._refreshShowTabs())); this._register(this._terminalGroupService.onDidChangeGroups(() => this._refreshShowTabs())); this._attachEventListeners(parentElement, this._terminalContainer); - this._terminalGroupService.onDidChangePanelOrientation((orientation) => { + this._register(this._terminalGroupService.onDidChangePanelOrientation((orientation) => { this._panelOrientation = orientation; if (this._panelOrientation === Orientation.VERTICAL) { this._terminalContainer.classList.add(CssClass.ViewIsVertical); } else { this._terminalContainer.classList.remove(CssClass.ViewIsVertical); } - }); + })); this._splitView = new SplitView(parentElement, { orientation: Orientation.HORIZONTAL, proportionalLayout: false }); this._setupSplitView(terminalOuterContainer);