Clean up properly when clearing label cache

This commit is contained in:
ahocevar
2019-07-04 16:10:28 +02:00
parent b4306da7bb
commit 5616c535b0
3 changed files with 5 additions and 1 deletions
+2
View File
@@ -243,7 +243,9 @@ export const checkFont = (function() {
// Make sure that loaded fonts are picked up by Safari // Make sure that loaded fonts are picked up by Safari
measureContext = null; measureContext = null;
measureFont = undefined; measureFont = undefined;
if (labelCache.getCount()) {
labelCache.clear(); labelCache.clear();
}
} else { } else {
++checked[font]; ++checked[font];
done = false; done = false;
+1 -1
View File
@@ -21,8 +21,8 @@ class LabelCache extends LRUCache {
} }
clear() { clear() {
super.clear();
this.consumers = {}; this.consumers = {};
super.clear();
} }
/** /**
@@ -24,6 +24,7 @@ import {
makeInverse makeInverse
} from '../../transform.js'; } from '../../transform.js';
import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js'; import CanvasExecutorGroup, {replayDeclutter} from '../../render/canvas/ExecutorGroup.js';
import {clear} from '../../obj.js';
/** /**
@@ -378,6 +379,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
* @inheritDoc * @inheritDoc
*/ */
handleFontsChanged() { handleFontsChanged() {
clear(this.renderTileImageQueue_);
const layer = this.getLayer(); const layer = this.getLayer();
if (layer.getVisible() && this.renderedLayerRevision_ !== undefined) { if (layer.getVisible() && this.renderedLayerRevision_ !== undefined) {
layer.changed(); layer.changed();