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

Szymon Kłos (via logerrit) logerrit at kemper.freedesktop.org
Tue Aug 20 08:52:40 UTC 2019


 loleaflet/src/control/Control.LokDialog.js |   29 +++++++++++++++++++++--------
 1 file changed, 21 insertions(+), 8 deletions(-)

New commits:
commit f8bb16d4716de4d14e4f859bd1dbb7da0947ee8b
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Jun 12 10:05:13 2019 +0200
Commit:     Tor Lillqvist <tml at collabora.com>
CommitDate: Tue Aug 20 10:52:36 2019 +0200

    Fix not working clicks in dialogs on mobile devices
    
    Sometimes input event was not sent and dialog was not working.
    Eg. spreadsheet -> menu -> Data -> Validation
    
    Change-Id: I8d864fdd73866080df5dc0b9b84e8e39054f65e3
    Reviewed-on: https://gerrit.libreoffice.org/75943
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    (cherry picked from commit 03ed7b6e6f109a1111ce1e566c15ff09cb4e5158)
    Reviewed-on: https://gerrit.libreoffice.org/77777
    Tested-by: Tor Lillqvist <tml at collabora.com>

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 8f3c7091c..3c29f3437 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -464,9 +464,13 @@ L.Control.LokDialog = L.Control.extend({
 		L.DomEvent.on(canvas, 'mousedown mouseup', function(e) {
 			L.DomEvent.stopPropagation(e);
 			var buttons = 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.left ? this._map['mouse'].LOButtons.left : 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.middle ? this._map['mouse'].LOButtons.middle : 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.right ? this._map['mouse'].LOButtons.right : 0;
+			if (this._map['mouse']) {
+				buttons |= e.button === this._map['mouse'].JSButtons.left ? this._map['mouse'].LOButtons.left : 0;
+				buttons |= e.button === this._map['mouse'].JSButtons.middle ? this._map['mouse'].LOButtons.middle : 0;
+				buttons |= e.button === this._map['mouse'].JSButtons.right ? this._map['mouse'].LOButtons.right : 0;
+			} else {
+				buttons = 1;
+			}
 			// 'mousedown' -> 'buttondown'
 			var lokEventType = e.type.replace('mouse', 'button');
 			this._postWindowMouseEvent(lokEventType, id, e.offsetX, e.offsetY, 1, buttons, 0);
@@ -771,9 +775,13 @@ L.Control.LokDialog = L.Control.extend({
 
 		L.DomEvent.on(canvas, 'mousedown mouseup', function(e) {
 			var buttons = 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.left ? this._map['mouse'].LOButtons.left : 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.middle ? this._map['mouse'].LOButtons.middle : 0;
-			buttons |= e.button === this._map['mouse'].JSButtons.right ? this._map['mouse'].LOButtons.right : 0;
+			if (this._map['mouse']) {
+				buttons |= e.button === this._map['mouse'].JSButtons.left ? this._map['mouse'].LOButtons.left : 0;
+				buttons |= e.button === this._map['mouse'].JSButtons.middle ? this._map['mouse'].LOButtons.middle : 0;
+				buttons |= e.button === this._map['mouse'].JSButtons.right ? this._map['mouse'].LOButtons.right : 0;
+			} else {
+				buttons = 1;
+			}
 			var lokEventType = e.type.replace('mouse', 'button');
 			this._postWindowMouseEvent(lokEventType, childId, e.offsetX, e.offsetY, 1, buttons, 0);
 		}, this);
commit 8c19a0adbd2d7bbe55eb17f0fc04f738db70de04
Author:     Tor Lillqvist <tml at collabora.com>
AuthorDate: Fri Jul 19 14:44:50 2019 +0300
Commit:     Tor Lillqvist <tml at collabora.com>
CommitDate: Tue Aug 20 10:52:23 2019 +0200

    Guard against this._map['mouse'] being undefined
    
    This changes makes combo boxes in the iOS app work again. Unclear
    what the situation for normal Online on a touch device is.
    
    Change-Id: If84124d46ea015722e8079566fc04914ee2bc542
    Reviewed-on: https://gerrit.libreoffice.org/75953
    Reviewed-by: Tor Lillqvist <tml at collabora.com>
    Tested-by: Tor Lillqvist <tml at collabora.com>
    (cherry picked from commit 9e611b9398035ddb89a0dbc68f40388c2ec5cc4e)
    Reviewed-on: https://gerrit.libreoffice.org/77776

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 35d7fe74c..8f3c7091c 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -750,8 +750,13 @@ L.Control.LokDialog = L.Control.extend({
 				this._postWindowGestureEvent(childId, 'panEnd', firstTouchPositionX, firstTouchPositionY, firstTouchPositionY - touchY);
 				if (previousTouchType === 'touchstart') {
 					// Simulate mouse click
-					this._postWindowMouseEvent('buttondown', childId, firstTouchPositionX, firstTouchPositionY, 1, this._map['mouse'].LOButtons.left, 0);
-					this._postWindowMouseEvent('buttonup', childId, firstTouchPositionX, firstTouchPositionY, 1, this._map['mouse'].LOButtons.left, 0);
+					if (this._map['mouse']) {
+						this._postWindowMouseEvent('buttondown', childId, firstTouchPositionX, firstTouchPositionY, 1, this._map['mouse'].LOButtons.left, 0);
+						this._postWindowMouseEvent('buttonup', childId, firstTouchPositionX, firstTouchPositionY, 1, this._map['mouse'].LOButtons.left, 0);
+					} else {
+						this._postWindowMouseEvent('buttondown', childId, firstTouchPositionX, firstTouchPositionY, 1, 1, 0);
+						this._postWindowMouseEvent('buttonup', childId, firstTouchPositionX, firstTouchPositionY, 1, 1, 0);
+					}
 				}
 				firstTouchPositionX = null;
 				firstTouchPositionY = null;


More information about the Libreoffice-commits mailing list