Merge pull request #863 from ahocevar/uncache
Uncache images that are no longer valid. r=@bartvde
This commit is contained in:
@@ -315,9 +315,16 @@ OpenLayers.TileManager = OpenLayers.Class({
|
|||||||
var tile = evt.object;
|
var tile = evt.object;
|
||||||
var queued = false;
|
var queued = false;
|
||||||
var layer = tile.layer;
|
var layer = tile.layer;
|
||||||
|
var url = layer.getURL(tile.bounds);
|
||||||
|
var img = this.tileCache[url];
|
||||||
|
if (img && img.className !== 'olTileImage') {
|
||||||
|
// cached image no longer valid, e.g. because we're olTileReplacing
|
||||||
|
delete this.tileCache[url];
|
||||||
|
OpenLayers.Util.removeItem(this.tileCacheIndex, url);
|
||||||
|
img = null;
|
||||||
|
}
|
||||||
// queue only if image with same url not cached already
|
// queue only if image with same url not cached already
|
||||||
if (layer.url && (layer.async ||
|
if (layer.url && (layer.async || !img)) {
|
||||||
!this.tileCache[layer.getURL(tile.bounds)])) {
|
|
||||||
// add to queue only if not in queue already
|
// add to queue only if not in queue already
|
||||||
var tileQueue = this.tileQueue[layer.map.id];
|
var tileQueue = this.tileQueue[layer.map.id];
|
||||||
if (!~OpenLayers.Util.indexOf(tileQueue, tile)) {
|
if (!~OpenLayers.Util.indexOf(tileQueue, tile)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user