diff --git a/src/common/input/WriteBuffer.ts b/src/common/input/WriteBuffer.ts index f606c8655..7ecab58ad 100644 --- a/src/common/input/WriteBuffer.ts +++ b/src/common/input/WriteBuffer.ts @@ -5,7 +5,7 @@ */ import { TimeoutTimer } from 'common/Async'; -import { Disposable } from 'common/Lifecycle'; +import { Disposable, toDisposable } from 'common/Lifecycle'; import { Emitter } from 'common/Event'; const enum Constants { @@ -48,17 +48,12 @@ export class WriteBuffer extends Disposable { constructor(private _action: (data: string | Uint8Array, promiseResult?: boolean) => void | Promise) { super(); - } - - public override dispose(): void { - if (this._store.isDisposed) { - return; - } - this._writeBuffer.length = 0; - this._callbacks.length = 0; - this._pendingData = 0; - this._bufferOffset = 0; - super.dispose(); + this._register(toDisposable(() => { + this._writeBuffer.length = 0; + this._callbacks.length = 0; + this._pendingData = 0; + this._bufferOffset = 0; + })); } public handleUserInput(): void {