提交 76882e4e 编写于 作者: R rebornix

avoid memory leak of large text buffer from notebook cell text model.

上级 2c20676f
...@@ -12,6 +12,7 @@ import { Range } from 'vs/editor/common/core/range'; ...@@ -12,6 +12,7 @@ import { Range } from 'vs/editor/common/core/range';
import { Disposable } from 'vs/base/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle';
import { ITextModelService } from 'vs/editor/common/services/resolverService'; import { ITextModelService } from 'vs/editor/common/services/resolverService';
import { hash } from 'vs/base/common/hash'; import { hash } from 'vs/base/common/hash';
import { createTextBuffer } from 'vs/editor/common/model/textModel';
export class NotebookCellTextModel extends Disposable implements ICell { export class NotebookCellTextModel extends Disposable implements ICell {
private _onDidChangeOutputs = new Emitter<NotebookCellOutputsSplice[]>(); private _onDidChangeOutputs = new Emitter<NotebookCellOutputsSplice[]>();
...@@ -171,6 +172,9 @@ export class NotebookCellTextModel extends Disposable implements ICell { ...@@ -171,6 +172,9 @@ export class NotebookCellTextModel extends Disposable implements ICell {
} }
dispose() { dispose() {
// Manually release reference to previous text buffer to avoid large leaks
// in case someone leaks a CellTextModel reference
this._textBuffer = createTextBuffer('', model.DefaultEndOfLine.LF);
super.dispose(); super.dispose();
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册