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
|
// 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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user