From 8328fcac52ec64320a57a41defd93a4d5634e037 Mon Sep 17 00:00:00 2001 From: meganrogge Date: Fri, 18 Mar 2022 15:32:24 -0400 Subject: [PATCH] track disposable --- addons/xterm-addon-search/src/SearchAddon.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/addons/xterm-addon-search/src/SearchAddon.ts b/addons/xterm-addon-search/src/SearchAddon.ts index 201c7420..f0d64eb9 100644 --- a/addons/xterm-addon-search/src/SearchAddon.ts +++ b/addons/xterm-addon-search/src/SearchAddon.ts @@ -50,6 +50,7 @@ export class SearchAddon implements ITerminalAddon { private _selectedDecoration: IDecoration | undefined; private _resultDecorations: Map = new Map(); private _searchResults: Map = new Map(); + private _onDataDisposable: IDisposable | undefined; /** * translateBufferLineToStringWithWrap is a fairly expensive call. * We memoize the calls into an array that has a time based ttl. @@ -62,10 +63,13 @@ export class SearchAddon implements ITerminalAddon { public activate(terminal: Terminal): void { this._terminal = terminal; - this._terminal.onData(() => this._dataChanged = true); + this._onDataDisposable = this._terminal.onData(() => this._dataChanged = true); } - public dispose(): void { } + public dispose(): void { + this.clear(); + this._onDataDisposable?.dispose(); + } public clear(): void { this._terminal?.clearSelection(); @@ -576,7 +580,6 @@ export class SearchAddon implements ITerminalAddon { element.style.left = `${element.clientWidth * result.col}px`; element.style.width = `${element.clientWidth * result.term.length}px`; element.style.backgroundColor = color; - element.style.color = color; } }