diff --git a/package.json b/package.json index 2bbd9a50..a2269b70 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-html", - "version": "1.1.0-next.2", + "version": "1.1.0-next.3", "description": "HTML plugin for the Monaco Editor", "scripts": { "compile": "gulp compile", diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index 39b9b0b7..767a011d 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -47,7 +47,12 @@ export class DiagnostcsAdapter { const onModelRemoved = (model: monaco.editor.IModel): void => { monaco.editor.setModelMarkers(model, this._languageId, []); - delete this._listener[model.uri.toString()]; + let uriStr = model.uri.toString(); + let listener = this._listener[uriStr]; + if (listener) { + listener.dispose(); + delete this._listener[uriStr]; + } }; this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd));