提交 cf39d842 编写于 作者: B Benjamin Pasero

properly dispose events

上级 a07aaa52
......@@ -448,6 +448,14 @@ export class EditorGroup implements IEditorGroup {
this.active = this.mru[0];
this.preview = this.editors[data.preview];
}
public dispose(): void {
this._onEditorActivated.dispose();
this._onEditorClosed.dispose();
this._onEditorOpened.dispose();
this._onEditorPinned.dispose();
this._onEditorUnpinned.dispose();
}
}
interface ISerializedEditorStacksModel {
......@@ -476,10 +484,15 @@ export class EditorStacksModel implements IEditorStacksModel {
this.toDispose = [];
this._groups = [];
this._onGroupOpened = new Emitter<EditorGroup>();
this._onGroupClosed = new Emitter<EditorGroup>();
this._onGroupActivated = new Emitter<EditorGroup>();
this.toDispose.push(this._onGroupOpened);
this.toDispose.push(this._onGroupClosed);
this.toDispose.push(this._onGroupActivated);
this.load();
this.registerListeners();
}
......@@ -557,8 +570,9 @@ export class EditorStacksModel implements IEditorStacksModel {
}
}
// Close Editors in Group first
// Close Editors in Group first and dispose then
group.closeAllEditors();
group.dispose();
// Splice from groups
this._groups.splice(index, 1);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册