Clean up properly when clearing label cache
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -21,8 +21,8 @@ class LabelCache extends LRUCache {
|
||||
}
|
||||
|
||||
clear() {
|
||||
super.clear();
|
||||
this.consumers = {};
|
||||
super.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user