Fixes #3869: Always use latest dimensions (cancelAndSet instead of setIfNotSet)

This commit is contained in:
Alex Dima
2016-03-17 09:32:08 +01:00
parent 9a4d2bf43d
commit 8f2f9cc7ea
@@ -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);
}