From 47f32f2e85a9da9784914c917e16119489942872 Mon Sep 17 00:00:00 2001 From: Simon Siefke Date: Mon, 24 Nov 2025 14:58:20 +0100 Subject: [PATCH] fix: memory leak in terminal process --- src/vs/platform/terminal/node/terminalProcess.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vs/platform/terminal/node/terminalProcess.ts b/src/vs/platform/terminal/node/terminalProcess.ts index 3360541b0a4..b1374107cd8 100644 --- a/src/vs/platform/terminal/node/terminalProcess.ts +++ b/src/vs/platform/terminal/node/terminalProcess.ts @@ -179,7 +179,7 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess // Delay resizes to avoid conpty not respecting very early resize calls if (isWindows) { if (useConpty && cols === 0 && rows === 0 && this.shellLaunchConfig.executable?.endsWith('Git\\bin\\bash.exe')) { - this._delayedResizer = new DelayedResizer(); + this._delayedResizer = this._register(new DelayedResizer()); this._register(this._delayedResizer.onTrigger(dimensions => { this._delayedResizer?.dispose(); this._delayedResizer = undefined; @@ -189,11 +189,11 @@ export class TerminalProcess extends Disposable implements ITerminalChildProcess })); } // WindowsShellHelper is used to fetch the process title and shell type - this.onProcessReady(e => { + this._register(this.onProcessReady(e => { this._windowsShellHelper = this._register(new WindowsShellHelper(e.pid)); this._register(this._windowsShellHelper.onShellTypeChanged(e => this._onDidChangeProperty.fire({ type: ProcessPropertyType.ShellType, value: e }))); this._register(this._windowsShellHelper.onShellNameChanged(e => this._onDidChangeProperty.fire({ type: ProcessPropertyType.Title, value: e }))); - }); + })); } this._register(toDisposable(() => { if (this._titleInterval) {