From 5616c535b0f17c5773e6426c322693887c6cc698 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 4 Jul 2019 16:10:28 +0200 Subject: [PATCH] Clean up properly when clearing label cache --- src/ol/render/canvas.js | 2 ++ src/ol/render/canvas/LabelCache.js | 2 +- src/ol/renderer/canvas/VectorTileLayer.js | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ol/render/canvas.js b/src/ol/render/canvas.js index 515cbab8db..c0ce02f7e5 100644 --- a/src/ol/render/canvas.js +++ b/src/ol/render/canvas.js @@ -243,7 +243,9 @@ export const checkFont = (function() { // Make sure that loaded fonts are picked up by Safari measureContext = null; measureFont = undefined; + if (labelCache.getCount()) { labelCache.clear(); + } } else { ++checked[font]; done = false; diff --git a/src/ol/render/canvas/LabelCache.js b/src/ol/render/canvas/LabelCache.js index b2ea1493e0..578ff22f0b 100644 --- a/src/ol/render/canvas/LabelCache.js +++ b/src/ol/render/canvas/LabelCache.js @@ -21,8 +21,8 @@ class LabelCache extends LRUCache { } clear() { - super.clear(); this.consumers = {}; + super.clear(); } /** diff --git a/src/ol/renderer/canvas/VectorTileLayer.js b/src/ol/renderer/canvas/VectorTileLayer.js index 8bd84485e0..9a6ce54b54 100644 --- a/src/ol/renderer/canvas/VectorTileLayer.js +++ b/src/ol/renderer/canvas/VectorTileLayer.js @@ -24,6 +24,7 @@ import { makeInverse } from '../../transform.js'; import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js'; +import {clear} from '../../obj.js'; /** @@ -378,6 +379,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer { * @inheritDoc */ handleFontsChanged() { + clear(this.renderTileImageQueue_); const layer = this.getLayer(); if (layer.getVisible() && this.renderedLayerRevision_ !== undefined) { layer.changed();