Cancel postrender before disposing renderer

This commit is contained in:
Andreas Hocevar
2019-09-12 11:51:50 +02:00
parent 6f09197a7b
commit f0cbc44860

View File

@@ -166,6 +166,12 @@ class PluggableMap extends BaseObject {
this.pixelRatio_ = options.pixelRatio !== undefined ?
options.pixelRatio : DEVICE_PIXEL_RATIO;
/**
* @private
* @type {*}
*/
this.postRenderTimeoutHandle_;
/**
* @private
* @type {number|undefined}
@@ -1022,6 +1028,8 @@ class PluggableMap extends BaseObject {
if (!targetElement) {
if (this.renderer_) {
clearTimeout(this.postRenderTimeoutHandle_);
this.postRenderFunctions_.length = 0;
this.renderer_.dispose();
this.renderer_ = null;
}
@@ -1284,7 +1292,7 @@ class PluggableMap extends BaseObject {
this.dispatchEvent(new MapEvent(MapEventType.POSTRENDER, this, frameState));
setTimeout(this.handlePostRender.bind(this), 0);
this.postRenderTimeoutHandle_ = setTimeout(this.handlePostRender.bind(this), 0);
}