From d8f41a9d7386e70e8c5430cf49d71e3159033a9c Mon Sep 17 00:00:00 2001 From: ahocevar Date: Fri, 24 May 2019 10:16:20 +0200 Subject: [PATCH] Only reuse target when className is the same --- src/ol/renderer/canvas/Layer.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ol/renderer/canvas/Layer.js b/src/ol/renderer/canvas/Layer.js index d47c1908fb..8fd413a508 100644 --- a/src/ol/renderer/canvas/Layer.js +++ b/src/ol/renderer/canvas/Layer.js @@ -79,7 +79,7 @@ class CanvasLayerRenderer extends LayerRenderer { useContainer(target, transform, opacity) { const layerClassName = this.getLayer().getClassName(); let container, context; - if (target && target.style.opacity === '') { + if (target && target.style.opacity === '' && target.className === layerClassName) { const canvas = target.firstElementChild; if (canvas instanceof HTMLCanvasElement) { context = canvas.getContext('2d'); @@ -87,7 +87,6 @@ class CanvasLayerRenderer extends LayerRenderer { } if (context && context.canvas.style.transform === transformToString(transform)) { // Container of the previous layer renderer can be used. - target.classList.add(layerClassName); this.container = target; this.context = context; this.containerReused = true;