diff --git a/addons/addon-webgl/src/WebglRenderer.ts b/addons/addon-webgl/src/WebglRenderer.ts index e985bf2ef..83f20c9e7 100644 --- a/addons/addon-webgl/src/WebglRenderer.ts +++ b/addons/addon-webgl/src/WebglRenderer.ts @@ -30,7 +30,7 @@ import { createRenderDimensions } from 'browser/renderer/shared/RendererUtils'; export class WebglRenderer extends Disposable implements IRenderer { private _renderLayers: IRenderLayer[]; - private _cursorBlinkStateManager: MutableDisposable = new MutableDisposable(); + private _cursorBlinkStateManager: MutableDisposable = this._register(new MutableDisposable()); private _textBlinkStateManager: TextBlinkStateManager; private _charAtlasDisposable = this._register(new MutableDisposable()); private _charAtlas: ITextureAtlas | undefined; diff --git a/src/browser/services/RenderService.ts b/src/browser/services/RenderService.ts index ada3df307..83e3d3379 100644 --- a/src/browser/services/RenderService.ts +++ b/src/browser/services/RenderService.ts @@ -68,7 +68,7 @@ export class RenderService extends Disposable implements IRenderService { ) { super(); - this._pausedResizeTask = new DebouncedIdleTask(this._logService); + this._pausedResizeTask = this._register(new DebouncedIdleTask(this._logService)); this._renderDebouncer = new RenderDebouncer((start, end) => this._renderRows(start, end), this._coreBrowserService); this._register(this._renderDebouncer); diff --git a/src/common/TaskQueue.ts b/src/common/TaskQueue.ts index 6f3b40bc4..3cad0a140 100644 --- a/src/common/TaskQueue.ts +++ b/src/common/TaskQueue.ts @@ -168,4 +168,8 @@ export class DebouncedIdleTask { public flush(): void { this._queue.flush(); } + + public dispose(): void { + this._queue.clear(); + } }