diff --git a/src/vs/base/browser/ui/splitview/panelview.ts b/src/vs/base/browser/ui/splitview/panelview.ts index 8ce998140a0d68ee26b3b2260f1f123eb00adbcd..2aa77865f065a59d5ed7411a873e3790782881b3 100644 --- a/src/vs/base/browser/ui/splitview/panelview.ts +++ b/src/vs/base/browser/ui/splitview/panelview.ts @@ -46,6 +46,7 @@ export abstract class Panel implements IView { protected _expanded: boolean; protected disposables: IDisposable[] = []; + private expandedSize: number | undefined = undefined; private _headerVisible = true; private _minimumBodySize: number; private _maximumBodySize: number; @@ -54,9 +55,6 @@ export abstract class Panel implements IView { private header: HTMLElement; - private cachedExpandedSize: number | undefined = undefined; - private cachedBodySize: number | undefined = undefined; - private _onDidChange = new Emitter(); readonly onDidChange: Event = this._onDidChange.event; @@ -131,7 +129,7 @@ export abstract class Panel implements IView { this._expanded = !!expanded; this.updateHeader(); - this._onDidChange.fire(expanded ? this.cachedExpandedSize : undefined); + this._onDidChange.fire(expanded ? this.expandedSize : undefined); } get headerVisible(): boolean { @@ -192,14 +190,8 @@ export abstract class Panel implements IView { const headerSize = this.headerVisible ? Panel.HEADER_SIZE : 0; if (this.isExpanded()) { - const bodySize = size - headerSize; - - if (bodySize !== this.cachedBodySize) { - this.layoutBody(bodySize); - this.cachedBodySize = bodySize; - } - - this.cachedExpandedSize = size; + this.layoutBody(size - headerSize); + this.expandedSize = size; } }