Copilot-aided disposable fixes (#295502)

* Copilot-aided disposable fixes

* Undo this, leave it for later

* Undo making some classes disposable when those classes weren't properly tracked
This commit is contained in:
Rob Lourens
2026-02-16 06:54:19 +00:00
committed by GitHub
parent 0235281e56
commit f019353b36
41 changed files with 111 additions and 76 deletions

View File

@@ -738,6 +738,7 @@ class BranchNode implements ISplitView<ILayoutContext>, IDisposable {
}
this._onDidChange.dispose();
this._onDidScroll.dispose();
this._onDidSashReset.dispose();
this._onDidVisibilityChange.dispose();
@@ -933,6 +934,7 @@ class LeafNode implements ISplitView<ILayoutContext>, IDisposable {
}
dispose(): void {
this._onDidSetLinkedNode.dispose();
this.disposables.dispose();
}
}
@@ -1832,6 +1834,7 @@ export class GridView implements IDisposable {
}
dispose(): void {
this._onDidChangeViewMaximized.dispose();
this.onDidSashResetRelay.dispose();
this.root.dispose();
this.element.remove();

View File

@@ -332,8 +332,8 @@ export class ListView<T> implements IListView<T> {
private readonly disposables: DisposableStore = new DisposableStore();
private readonly _onDidChangeContentHeight = new Emitter<number>();
private readonly _onDidChangeContentWidth = new Emitter<number>();
private readonly _onDidChangeContentHeight = this.disposables.add(new Emitter<number>());
private readonly _onDidChangeContentWidth = this.disposables.add(new Emitter<number>());
readonly onDidChangeContentHeight: Event<number> = Event.latch(this._onDidChangeContentHeight.event, undefined, this.disposables);
readonly onDidChangeContentWidth: Event<number> = Event.latch(this._onDidChangeContentWidth.event, undefined, this.disposables);
get contentHeight(): number { return this.rangeMap.size; }

View File

@@ -126,7 +126,7 @@ class ColumnHeader<TRow, TCell> extends Disposable implements IView {
get maximumSize() { return this.column.maximumWidth ?? Number.POSITIVE_INFINITY; }
get onDidChange() { return this.column.onDidChangeWidthConstraints ?? Event.None; }
private _onDidLayout = new Emitter<[number, number]>();
private _onDidLayout = this._register(new Emitter<[number, number]>());
readonly onDidLayout = this._onDidLayout.event;
constructor(readonly column: ITableColumn<TRow, TCell>, private index: number) {

View File

@@ -832,7 +832,7 @@ class FindWidget<T, TFilterData> extends Disposable {
private readonly actionbar: ActionBar;
private readonly toggles: TreeFindToggle[] = [];
readonly _onDidDisable = new Emitter<void>();
readonly _onDidDisable = this._register(new Emitter<void>());
readonly onDidDisable = this._onDidDisable.event;
readonly onDidChangeValue: Event<string>;
readonly onDidToggleChange: Event<ITreeFindToggleChangeEvent>;
@@ -1901,10 +1901,10 @@ class StickyScrollFocus<T, TFilterData, TRef> extends Disposable {
private elements: HTMLElement[] = [];
private state: StickyScrollState<T, TFilterData, TRef> | undefined;
private _onDidChangeHasFocus = new Emitter<boolean>();
private _onDidChangeHasFocus = this._register(new Emitter<boolean>());
readonly onDidChangeHasFocus = this._onDidChangeHasFocus.event;
private _onContextMenu = new Emitter<ITreeContextMenuEvent<T>>();
private _onContextMenu = this._register(new Emitter<ITreeContextMenuEvent<T>>());
readonly onContextMenu: Event<ITreeContextMenuEvent<T>> = this._onContextMenu.event;
private _domHasFocus: boolean = false;

View File

@@ -1387,6 +1387,8 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
}
dispose(): void {
this._onDidRender.dispose();
this._onDidChangeNodeSlowState.dispose();
this.disposables.dispose();
this.tree.dispose();
}