[Libreoffice-commits] online.git: loleaflet/src

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jul 23 20:06:32 UTC 2018


 loleaflet/src/layer/tile/TileLayer.js |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

New commits:
commit f5de78f920ec6f996dd4fbc386d828616733047c
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Mon Apr 16 17:17:08 2018 -0400
Commit:     Henry Castro <hcastro at collabora.com>
CommitDate: Mon Jul 23 16:05:53 2018 -0400

    loleaflet: fix when document window zooms out until it disappears
    
    Change-Id: If0f7234429130aed47dbc9156fde2e125680638f

diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 9d8cc9e8e..f7cee95bd 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -2141,20 +2141,19 @@ L.TileLayer = L.GridLayer.extend({
 	},
 
 	_fitWidthZoom: function (e, maxZoom) {
+		if (isNaN(this._docWidthTwips)) { return; }
 		var size = e ? e.newSize : this._map.getSize();
 		var widthTwips = size.x * this._map.options.tileWidthTwips / this._tileSize;
-		maxZoom = maxZoom ? maxZoom : this._map.getZoom();
+		var ratio = widthTwips / this._docWidthTwips;
 
+		maxZoom = maxZoom ? maxZoom : this.options.maxZoom;
 		// 'fit width zoom' has no use in spreadsheets, ignore it there
 		if (this._docType !== 'spreadsheet') {
 			var crsScale = this._map.options.crs.scale(1);
-			if (this._docWidthTwips > 0)
-			{
-				var ratio = widthTwips / this._docWidthTwips;
-				var zoom = this._map.getZoom() + Math.floor(Math.log(ratio) / Math.log(crsScale));
+			var zoom = 10 + Math.floor(Math.log(ratio) / Math.log(crsScale));
 
-				zoom = Math.max(1, zoom);
-				zoom = Math.min(maxZoom, zoom);
+			zoom = Math.min(maxZoom, Math.max(1, zoom));
+			if (this._docWidthTwips * this._map.getZoomScale(zoom, 10) < widthTwips) {
 				this._map.setZoom(zoom, {animate: false});
 			}
 		}


More information about the Libreoffice-commits mailing list