Browse Source

Ensures disposables get cleaned up properly

main
Eric Amodio 1 year ago
parent
commit
9edc2aa153
1 changed files with 6 additions and 2 deletions
  1. +6
    -2
      src/system/event.ts

+ 6
- 2
src/system/event.ts View File

@ -1,4 +1,5 @@
import type { Disposable, Event } from 'vscode';
import type { Event } from 'vscode';
import { Disposable } from 'vscode';
import type { Deferred } from './promise';
export function once<T>(event: Event<T>): Event<T> {
@ -119,11 +120,14 @@ export function weakEvent(
listener.call(obj, e);
} else {
disposable.dispose();
disposables?.forEach(d => void d.dispose());
}
},
null,
disposables,
);
return disposable;
if (disposables == null) return disposable;
return Disposable.from(disposable, ...disposables);
}

Loading…
Cancel
Save