From 6de566d95b316547942ee2bd97b7cb4177a5893a Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Fri, 8 Mar 2019 13:19:17 +0100 Subject: [PATCH] Set the canvas size to 0 on dispose --- src/ol/render/canvas/ExecutorGroup.js | 2 ++ src/ol/renderer/canvas/Layer.js | 8 ++++++++ src/ol/renderer/canvas/VectorTileLayer.js | 1 + 3 files changed, 11 insertions(+) diff --git a/src/ol/render/canvas/ExecutorGroup.js b/src/ol/render/canvas/ExecutorGroup.js index 60c03c08df..e14a9e9c14 100644 --- a/src/ol/render/canvas/ExecutorGroup.js +++ b/src/ol/render/canvas/ExecutorGroup.js @@ -143,6 +143,8 @@ class ExecutorGroup extends Disposable { executors[key].disposeInternal(); } } + const canvas = this.hitDetectionContext_.canvas; + canvas.width = canvas.height = 0; super.disposeInternal(); } diff --git a/src/ol/renderer/canvas/Layer.js b/src/ol/renderer/canvas/Layer.js index 6417f7807a..aa7531c0f0 100644 --- a/src/ol/renderer/canvas/Layer.js +++ b/src/ol/renderer/canvas/Layer.js @@ -63,6 +63,14 @@ class CanvasLayerRenderer extends LayerRenderer { canvas.className = this.getLayer().getClassName(); } + /** + * @inheritDoc + */ + disposeInternal() { + this.context.canvas.width = this.context.canvas.height = 0; + super.disposeInternal(); + } + /** * @param {CanvasRenderingContext2D} context Context. * @param {import("../../PluggableMap.js").FrameState} frameState Frame state. diff --git a/src/ol/renderer/canvas/VectorTileLayer.js b/src/ol/renderer/canvas/VectorTileLayer.js index 78e3bf2f6d..d10c9c5fdc 100644 --- a/src/ol/renderer/canvas/VectorTileLayer.js +++ b/src/ol/renderer/canvas/VectorTileLayer.js @@ -152,6 +152,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer { */ disposeInternal() { unlisten(labelCache, EventType.CLEAR, this.handleFontsChanged_, this); + this.overlayContext_.canvas.width = this.overlayContext_.canvas.height = 0; super.disposeInternal(); }