diff --git a/src/browser/services/DecorationService.ts b/src/browser/services/DecorationService.ts index 957a5de5..de90649e 100644 --- a/src/browser/services/DecorationService.ts +++ b/src/browser/services/DecorationService.ts @@ -122,23 +122,6 @@ export class Decoration extends Disposable implements IDecoration { } else { this._element.style.left = this.x ? `${this.x * renderService.dimensions.actualCellWidth}px` : ''; } - this.register({ - dispose: () => { - if (this.isDisposed) { - return; - } - if (!this.marker.isDisposed) { - this.marker.dispose(); - } - if (this._element && this._container.contains(this._element)) { - this._container.removeChild(this._element); - } - this.isDisposed = true; - // Emit before super.dispose such that dispose listeners get a change to react - this._onDispose.fire(); - super.dispose(); - } - }); } private _refreshStyle(renderService: IRenderService): void { @@ -154,4 +137,17 @@ export class Decoration extends Disposable implements IDecoration { this._element.style.display = this._bufferService.buffer === this._bufferService.buffers.alt ? 'none' : 'block'; } } + + public override dispose(): void { + if (this.isDisposed) { + return; + } + if (this._element && this._container.contains(this._element)) { + this._container.removeChild(this._element); + } + this.isDisposed = true; + // Emit before super.dispose such that dispose listeners get a change to react + this._onDispose.fire(); + super.dispose(); + } }