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

Pranav Kant pranavk at collabora.co.uk
Sun Nov 20 08:46:36 UTC 2016


 loleaflet/src/layer/tile/WriterTileLayer.js |   33 ++++++++++++++++------------
 1 file changed, 19 insertions(+), 14 deletions(-)

New commits:
commit 8a2c2ad91d3c8b66a8454c97543c97c0f3e3730a
Author: Pranav Kant <pranavk at collabora.co.uk>
Date:   Sun Nov 20 14:15:12 2016 +0530

    loleaflet: Don't unnecessarily update map bounds
    
    This leads to emission of 'docsize' event somewhere down the line
    which leads inconsistencies while navigating the document.
    
    Change-Id: Iffabac66153e7b32c9b2af041282ef82b813bef3

diff --git a/loleaflet/src/layer/tile/WriterTileLayer.js b/loleaflet/src/layer/tile/WriterTileLayer.js
index 3b34125..7b93b23 100644
--- a/loleaflet/src/layer/tile/WriterTileLayer.js
+++ b/loleaflet/src/layer/tile/WriterTileLayer.js
@@ -120,24 +120,29 @@ L.WriterTileLayer = L.TileLayer.extend({
 
 	_onStatusMsg: function (textMsg) {
 		var command = this._map._socket.parseServerCmd(textMsg);
-		if (command.width && command.height && this._documentInfo !== textMsg) {
+		if (!command.width || !command.height || this._documentInfo === textMsg)
+			return;
+
+		var sizeChanged = command.width !== this._docWidthTwips || command.height !== this._docHeightTwips;
+		if (sizeChanged) {
 			this._docWidthTwips = command.width;
 			this._docHeightTwips = command.height;
 			this._docType = command.type;
-			this._updateMaxBounds(true);
-			this._documentInfo = textMsg;
-			this._selectedPart = 0;
-			this._parts = 1;
-			this._currentPage = command.selectedPart;
-			this._pages = command.parts;
 			this._viewId = parseInt(command.viewid);
-			this._map.fire('pagenumberchanged', {
-				currentPage: this._currentPage,
-				pages: this._pages,
-				docType: this._docType
-			});
-			this._resetPreFetching(true);
-			this._update();
+			this._updateMaxBounds(true);
 		}
+
+		this._documentInfo = textMsg;
+		this._selectedPart = 0;
+		this._parts = 1;
+		this._currentPage = command.selectedPart;
+		this._pages = command.parts;
+		this._map.fire('pagenumberchanged', {
+			currentPage: this._currentPage,
+			pages: this._pages,
+			docType: this._docType
+		});
+		this._resetPreFetching(true);
+		this._update();
 	}
 });


More information about the Libreoffice-commits mailing list