[Libreoffice-commits] online.git: loleaflet/src
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Thu May 30 13:33:22 UTC 2019
loleaflet/src/dom/DomEvent.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
New commits:
commit 6478015ccbf7ee49b026820960edac4401334cd2
Author: Tor Lillqvist <tml at collabora.com>
AuthorDate: Thu May 30 16:07:59 2019 +0300
Commit: Tor Lillqvist <tml at collabora.com>
CommitDate: Thu May 30 16:31:42 2019 +0300
tdf#125389: Guard against exception if e.touches is zero length
For a touchend event, the touches property will be a zero-length
array. At least in WebKit on iOS or Safari. Work around that. The
proper fix would probably be to not even call the getMousePosition()
function for touchend events?
Change-Id: I1c4cdb26b293e551c3c6f51208f73ee5a8044ecb
diff --git a/loleaflet/src/dom/DomEvent.js b/loleaflet/src/dom/DomEvent.js
index 0d59d54aa..f9df070d8 100644
--- a/loleaflet/src/dom/DomEvent.js
+++ b/loleaflet/src/dom/DomEvent.js
@@ -195,10 +195,19 @@ L.DomEvent = {
left = top = 0;
}
- if (e.clientX === undefined && e.touches !== undefined)
+ // When called for a touchend event, at least in WebKit on iOS and Safari, the
+ // touches array will be of zero length. Probably it is a programming logic error to
+ // even call this function for a touchend event, as by definition no finger is
+ // touching the screen any longer then and thus there is no "mouse position". But
+ // let's just least guard against an unhandled exception for now.
+ if (e.clientX === undefined && e.touches !== undefined && e.touches.length > 0)
return new L.Point(
e.touches[0].clientX - left - container.clientLeft,
e.touches[0].clientY - top - container.clientTop);
+ else if (e.clientX === undefined && e.changedTouches !== undefined && e.changedTouches.length > 0)
+ return new L.Point(
+ e.changedTouches[0].clientX - left - container.clientLeft,
+ e.changedTouches[0].clientY - top - container.clientTop);
return new L.Point(
e.clientX - left - container.clientLeft,
More information about the Libreoffice-commits
mailing list