提交 198e6a55 编写于 作者: M Matt Bierner

Make sure we dispose of event emitters properly

上级 6b8b1b7b
......@@ -25,6 +25,7 @@ export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(telemetryReporter);
const contributions = getMarkdownExtensionContributions(context);
context.subscriptions.push(contributions);
const cspArbiter = new ExtensionContentSecurityPolicyArbiter(context.globalState, context.workspaceState);
const engine = new MarkdownEngine(contributions, githubSlugifier);
......
......@@ -118,6 +118,8 @@ export interface MarkdownContributionProvider {
readonly extensionPath: string;
readonly contributions: MarkdownContributions;
readonly onContributionsChanged: vscode.Event<this>;
dispose(): void;
}
class VSCodeExtensionMarkdownContributionProvider extends Disposable implements MarkdownContributionProvider {
......@@ -138,7 +140,7 @@ class VSCodeExtensionMarkdownContributionProvider extends Disposable implements
}, undefined, this._disposables);
}
private readonly _onContributionsChanged = new vscode.EventEmitter<this>();
private readonly _onContributionsChanged = this._register(new vscode.EventEmitter<this>());
public readonly onContributionsChanged = this._onContributionsChanged.event;
public get contributions(): MarkdownContributions {
......
......@@ -7,11 +7,12 @@ import * as vscode from 'vscode';
import { MarkdownEngine } from '../markdownEngine';
import { MarkdownContributionProvider, MarkdownContributions } from '../markdownExtensions';
import { githubSlugifier } from '../slugify';
import { Disposable } from '../util/dispose';
const emptyContributions = new class implements MarkdownContributionProvider {
const emptyContributions = new class extends Disposable implements MarkdownContributionProvider {
readonly extensionPath = '';
readonly contributions = MarkdownContributions.Empty;
readonly onContributionsChanged = new vscode.EventEmitter<this>().event;
readonly onContributionsChanged = this._register(new vscode.EventEmitter<this>()).event;
};
export function createNewMarkdownEngine(): MarkdownEngine {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册