loleaflet/src/layer/tile/GridLayer.js | 49 ++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 23 deletions(-)
New commits: commit d331ddee38ff27cfad95ab821786c55fde85e29a Author: Tamás Zolnai <[email protected]> AuthorDate: Sun Aug 26 06:11:08 2018 +0200 Commit: Andras Timar <[email protected]> CommitDate: Tue Aug 28 10:43:43 2018 +0200 loleaflet: Request invalid tiles too by view change Change-Id: I43c65ce025d3b18bd664d2ad16107cf828bab300 (cherry picked from commit 9473908d45a884827356b504c5f768e2f29cc46b) Reviewed-on: https://gerrit.libreoffice.org/59650 Reviewed-by: Andras Timar <[email protected]> Tested-by: Andras Timar <[email protected]> diff --git a/loleaflet/src/layer/tile/GridLayer.js b/loleaflet/src/layer/tile/GridLayer.js index a337e3835..3bd563639 100644 --- a/loleaflet/src/layer/tile/GridLayer.js +++ b/loleaflet/src/layer/tile/GridLayer.js @@ -532,7 +532,8 @@ L.GridLayer = L.Layer.extend({ key = this._tileCoordsToKey(coords); var tile = this._tiles[key]; - if (tile) { + var invalid = tile && tile._invalidCount && tile._invalidCount > 0; + if (tile && tile.loaded && !invalid) { tile.current = true; newView = false; } else { @@ -866,34 +867,36 @@ L.GridLayer = L.Layer.extend({ key = this._tileCoordsToKey(coords); if (coords.part === this._selectedPart) { - var tile = this.createTile(this._wrapCoords(coords), L.bind(this._tileReady, this, coords)); + if (!this._tiles[key]) { + var tile = this.createTile(this._wrapCoords(coords), L.bind(this._tileReady, this, coords)); - this._initTile(tile); + this._initTile(tile); - // if createTile is defined with a second argument ("done" callback), - // we know that tile is async and will be ready later; otherwise - if (this.createTile.length < 2) { - // mark tile as ready, but delay one frame for opacity animation to happen - setTimeout(L.bind(this._tileReady, this, coords, null, tile), 0); - } + // if createTile is defined with a second argument ("done" callback), + // we know that tile is async and will be ready later; otherwise + if (this.createTile.length < 2) { + // mark tile as ready, but delay one frame for opacity animation to happen + setTimeout(L.bind(this._tileReady, this, coords, null, tile), 0); + } - // we prefer top/left over translate3d so that we don't create a HW-accelerated layer from each tile - // which is slow, and it also fixes gaps between tiles in Safari - L.DomUtil.setPosition(tile, tilePos, true); + // we prefer top/left over translate3d so that we don't create a HW-accelerated layer from each tile + // which is slow, and it also fixes gaps between tiles in Safari + L.DomUtil.setPosition(tile, tilePos, true); - // save tile in cache - this._tiles[key] = { - el: tile, - coords: coords, - current: true - }; + // save tile in cache + this._tiles[key] = { + el: tile, + coords: coords, + current: true + }; - fragment.appendChild(tile); + fragment.appendChild(tile); - this.fire('tileloadstart', { - tile: tile, - coords: coords - }); + this.fire('tileloadstart', { + tile: tile, + coords: coords + }); + } } if (this._tileCache[key]) { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
