diff --git a/src/vs/workbench/parts/terminal/node/terminalProcess.ts b/src/vs/workbench/parts/terminal/node/terminalProcess.ts index 7527d1196acd911937a1df27653ffbfbbdf5078a..53c92cc4bfa3c6da543ef4cf87b12ede903d93f8 100644 --- a/src/vs/workbench/parts/terminal/node/terminalProcess.ts +++ b/src/vs/workbench/parts/terminal/node/terminalProcess.ts @@ -19,7 +19,7 @@ export class TerminalProcess implements ITerminalChildProcess, IDisposable { private _currentTitle: string = ''; private _processStartupComplete: Promise; private _isDisposed: boolean = false; - private _titleInterval: number = -1; + private _titleInterval: NodeJS.Timer | null = null; private readonly _onProcessData = new Emitter(); public get onProcessData(): Event { return this._onProcessData.event; } @@ -91,8 +91,10 @@ export class TerminalProcess implements ITerminalChildProcess, IDisposable { public dispose(): void { this._isDisposed = true; - window.clearInterval(this._titleInterval); - this._titleInterval = -1; + if (this._titleInterval) { + clearInterval(this._titleInterval); + } + this._titleInterval = null; this._onProcessData.dispose(); this._onProcessExit.dispose(); this._onProcessIdReady.dispose(); @@ -105,7 +107,7 @@ export class TerminalProcess implements ITerminalChildProcess, IDisposable { this._sendProcessTitle(); }, 0); // Setup polling - this._titleInterval = window.setInterval(() => { + this._titleInterval = setInterval(() => { if (this._currentTitle !== this._ptyProcess.process) { this._sendProcessTitle(); }