Skip to content

Commit

Permalink
Leak fix, use same signature in disconnect (#14186)
Browse files Browse the repository at this point in the history
The disconnect from the signal was not passing the this reference
as it was used in the connect, hence the disconnect failed to find
the handler.
  • Loading branch information
dfriederich authored Sep 18, 2024
1 parent f7d620b commit 4a0228b
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions packages/plugin-ext/src/main/browser/tabs/tabs-main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -231,9 +231,13 @@ export class TabsMainImpl implements TabsMain, Disposable {
return { kind: TabInputKind.UnknownInput };
}

protected connectToSignal<T>(disposableList: DisposableCollection, signal: { connect(listener: T, context: unknown): void, disconnect(listener: T): void }, listener: T): void {
protected connectToSignal<T>(disposableList: DisposableCollection,
signal: {
connect(listener: T, context: unknown): void,
disconnect(listener: T, context: unknown): void
}, listener: T): void {
signal.connect(listener, this);
disposableList.push(Disposable.create(() => signal.disconnect(listener)));
disposableList.push(Disposable.create(() => signal.disconnect(listener, this)));
}

protected tabDtosEqual(a: TabDto, b: TabDto): boolean {
Expand Down

0 comments on commit 4a0228b

Please sign in to comment.