From 8f2f9cc7eafee989da604fff4e0dcc5337f8294b Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Thu, 17 Mar 2016 09:32:08 +0100 Subject: [PATCH] Fixes #3869: Always use latest dimensions (cancelAndSet instead of setIfNotSet) --- src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts b/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts index 1d369bc7864..ddf44cc7c7c 100644 --- a/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts +++ b/src/vs/base/browser/ui/scrollbar/scrollableElementImpl.ts @@ -137,8 +137,9 @@ export class ScrollableElement extends Widget implements IScrollableElement { public onElementDimensions(dimensions: IDimensions = null, synchronous: boolean = false): void { if (synchronous) { this._actualElementDimensions(dimensions); + this._onElementDimensionsTimeout.cancel(); } else { - this._onElementDimensionsTimeout.setIfNotSet(() => this._actualElementDimensions(dimensions), 0); + this._onElementDimensionsTimeout.cancelAndSet(() => this._actualElementDimensions(dimensions), 0); } } @@ -157,6 +158,7 @@ export class ScrollableElement extends Widget implements IScrollableElement { public onElementInternalDimensions(synchronous: boolean = false): void { if (synchronous) { this._actualElementInternalDimensions(); + this._onElementInternalDimensionsTimeout.cancel(); } else { this._onElementInternalDimensionsTimeout.setIfNotSet(() => this._actualElementInternalDimensions(), 0); }