Skip to content

Commit b16712b

Browse files
committed
Calling local disposables properly
1 parent 5952037 commit b16712b

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

src/features/abstractProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default abstract class AbstractProvider {
2020
this._disposables.add(disposables);
2121
}
2222

23-
dispose() {
23+
dispose = () => {
2424
this._disposables.dispose();
2525
}
2626
}

src/features/diagnosticsProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ class DiagnosticsProvider extends AbstractSupport {
144144
}
145145
}
146146

147-
public dispose(): void {
147+
public dispose = () => {
148148
if (this._projectValidation) {
149149
this._projectValidation.dispose();
150150
}

src/omnisharp/extension.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,14 @@ export async function activate(context: vscode.ExtensionContext, eventStream: Ev
4848
omnisharp = server;
4949
const advisor = new Advisor(server); // create before server is started
5050
const disposables = new CompositeDisposable();
51-
const localDisposables = new CompositeDisposable();
51+
let localDisposables : CompositeDisposable;
5252

5353
disposables.add(server.onServerStart(() => {
5454
// register language feature provider on start
55+
localDisposables = new CompositeDisposable();
5556
const definitionMetadataDocumentProvider = new DefinitionMetadataDocumentProvider();
5657
definitionMetadataDocumentProvider.register();
5758
localDisposables.add(definitionMetadataDocumentProvider);
58-
5959
const definitionProvider = new DefinitionProvider(server, definitionMetadataDocumentProvider);
6060
localDisposables.add(vscode.languages.registerDefinitionProvider(documentSelector, definitionProvider));
6161
localDisposables.add(vscode.languages.registerDefinitionProvider({ scheme: definitionMetadataDocumentProvider.scheme }, definitionProvider));
@@ -84,7 +84,10 @@ export async function activate(context: vscode.ExtensionContext, eventStream: Ev
8484

8585
disposables.add(server.onServerStop(() => {
8686
// remove language feature providers on stop
87-
localDisposables.dispose();
87+
if (localDisposables) {
88+
localDisposables.dispose();
89+
}
90+
localDisposables = null;
8891
}));
8992

9093
disposables.add(registerCommands(server, eventStream,platformInfo));

0 commit comments

Comments
 (0)