From 11cd923824815c1b0741cec250d81d9411d6ee6e Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Wed, 27 Oct 2021 10:19:51 -0700 Subject: [PATCH] Improve LineDataEventAddon lifecycle Part of #133757 --- .../terminal/browser/addons/lineDataEventAddon.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/browser/addons/lineDataEventAddon.ts b/src/vs/workbench/contrib/terminal/browser/addons/lineDataEventAddon.ts index 96a5ed7300a..c0bcedaae03 100644 --- a/src/vs/workbench/contrib/terminal/browser/addons/lineDataEventAddon.ts +++ b/src/vs/workbench/contrib/terminal/browser/addons/lineDataEventAddon.ts @@ -4,19 +4,19 @@ *--------------------------------------------------------------------------------------------*/ import { Emitter } from 'vs/base/common/event'; -import { DisposableStore, toDisposable } from 'vs/base/common/lifecycle'; +import { Disposable, toDisposable } from 'vs/base/common/lifecycle'; import { OperatingSystem } from 'vs/base/common/platform'; import type { Terminal as XTermTerminal, IBuffer, ITerminalAddon } from 'xterm'; /** * Provides extensions to the xterm object in a modular, testable way. */ -export class LineDataEventAddon extends DisposableStore implements ITerminalAddon { +export class LineDataEventAddon extends Disposable implements ITerminalAddon { private _xterm?: XTermTerminal; private _isOsSet = false; - private readonly _onLineData = this.add(new Emitter()); + private readonly _onLineData = this._register(new Emitter()); readonly onLineData = this._onLineData.event; activate(xterm: XTermTerminal) { @@ -31,7 +31,7 @@ export class LineDataEventAddon extends DisposableStore implements ITerminalAddo }); // Fire onLineData when disposing object to flush last line - this.add(toDisposable(() => { + this._register(toDisposable(() => { const buffer = xterm.buffer; this._sendLineData(buffer.active, buffer.active.baseY + buffer.active.cursorY); })); @@ -48,11 +48,11 @@ export class LineDataEventAddon extends DisposableStore implements ITerminalAddo // cursor, in which case we still want to send the current line's data to tasks. if (os === OperatingSystem.Windows) { const xterm = this._xterm; - xterm.parser.registerCsiHandler({ final: 'H' }, () => { + this._register(xterm.parser.registerCsiHandler({ final: 'H' }, () => { const buffer = xterm.buffer; this._sendLineData(buffer.active, buffer.active.baseY + buffer.active.cursorY); return false; - }); + })); } } -- GitLab