diff --git a/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.ts b/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.ts index 5a99aa34773..e7870b9c77d 100644 --- a/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.ts +++ b/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.ts @@ -569,6 +569,7 @@ export class UpdateOperation implements IDisposable { */ export class SynchronizedInlineCompletionsCache extends Disposable { public readonly completions: readonly CachedInlineCompletion[]; + private isDisposing = false; constructor( completionsSource: TrackedInlineCompletions, @@ -588,6 +589,7 @@ export class SynchronizedInlineCompletionsCache extends Disposable { })) ); this._register(toDisposable(() => { + this.isDisposing = true; editor.deltaDecorations(decorationIds, []); })); @@ -600,7 +602,11 @@ export class SynchronizedInlineCompletionsCache extends Disposable { this._register(completionsSource); } - public updateRanges() { + public updateRanges(): void { + if (this.isDisposing) { + return; + } + let hasChanged = false; const model = this.editor.getModel(); for (const c of this.completions) {