From f3f3e04ad29002a9e973e9044b39e3cc8247ce7b Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Fri, 3 Mar 2017 17:36:53 +0100 Subject: [PATCH] Ignore validation requests for disposed models --- src/languageFeatures.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index d73abd8a..8657072c 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -115,6 +115,10 @@ export class DiagnostcsAdapter extends Adapter { private _doValidate(resource: Uri): void { this._worker(resource).then(worker => { + if (!monaco.editor.getModel(resource)) { + // model was disposed in the meantime + return null; + } const promises: Promise[] = []; const {noSyntaxValidation, noSemanticValidation} = this._defaults.getDiagnosticsOptions(); if (!noSyntaxValidation) { @@ -125,6 +129,10 @@ export class DiagnostcsAdapter extends Adapter { } return Promise.join(promises); }).then(diagnostics => { + if (!diagnostics || !monaco.editor.getModel(resource)) { + // model was disposed in the meantime + return null; + } const markers = diagnostics .reduce((p, c) => c.concat(p), []) .map(d => this._convertDiagnostics(resource, d));