loleaflet/src/map/handler/Map.Keyboard.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-)
New commits: commit 035db689b2b2f7401d7abc138f068e2774d69bfa Author: Michael Meeks <michael.me...@collabora.com> Date: Wed Jan 17 10:49:52 2018 +0000 Ensure we have the docLayer object as 'this' in _postKeyboardEvent. Interestingly, we can have a 'this' that is not this object, that means that this._clientVisibleArea is undefined, so page-up/down don't work. Fixes regression introduced by d1c8de9bf9021dedb67446439f117b1b64c7e2d9 Change-Id: If83b3542f17c1856af18c5c302e9d566761aeb12 Reviewed-on: https://gerrit.libreoffice.org/48039 Reviewed-by: pranavk <pran...@collabora.co.uk> Tested-by: pranavk <pran...@collabora.co.uk> diff --git a/loleaflet/src/map/handler/Map.Keyboard.js b/loleaflet/src/map/handler/Map.Keyboard.js index 23c55f21..f37d4d87 100644 --- a/loleaflet/src/map/handler/Map.Keyboard.js +++ b/loleaflet/src/map/handler/Map.Keyboard.js @@ -242,9 +242,11 @@ L.Map.Keyboard = L.Handler.extend({ return; } var docLayer = this._map._docLayer; + var eventObject; if (!postEventFn) { // default is to post keyboard events on the document postEventFn = docLayer._postKeyboardEvent; + eventObject = docLayer; } this.modifier = 0; var shift = e.originalEvent.shiftKey ? this.keyModifier.shift : 0; @@ -315,7 +317,7 @@ L.Map.Keyboard = L.Handler.extend({ if (this.modifier) { unoKeyCode |= this.modifier; if (e.type !== 'keyup' && (this.modifier !== shift || (keyCode === 32 && !docLayer._isCursorVisible))) { - postEventFn.call(this, 'input', charCode, unoKeyCode); + postEventFn.call(eventObject, 'input', charCode, unoKeyCode); e.originalEvent.preventDefault(); return; } @@ -329,7 +331,7 @@ L.Map.Keyboard = L.Handler.extend({ this._bufferedTextInputEvent = null; if (this._handleOnKeyDown(keyCode, this.modifier) && charCode === 0) { - postEventFn.call(this, 'input', charCode, unoKeyCode); + postEventFn.call(eventObject, 'input', charCode, unoKeyCode); } } else if ((e.type === 'keypress' || e.type === 'compositionend') && @@ -347,10 +349,10 @@ L.Map.Keyboard = L.Handler.extend({ if (e.type === 'compositionend') { // Set all keycodes to zero for (var i = 0; i < compCharCodes.length; ++i) { - postEventFn.call(this, 'input', compCharCodes[i], 0); + postEventFn.call(eventObject, 'input', compCharCodes[i], 0); } } else { - postEventFn.call(this, 'input', charCode, unoKeyCode); + postEventFn.call(eventObject, 'input', charCode, unoKeyCode); } this._keyHandled = true; @@ -380,10 +382,10 @@ L.Map.Keyboard = L.Handler.extend({ var textInputData = this._bufferedTextInputEvent.originalEvent.data; charCode = e.originalEvent.keyCode; for (var i = 0; i < textInputData.length; i++) { - postEventFn.call(this, 'input', textInputData[i].charCodeAt(), 0); + postEventFn.call(eventObject, 'input', textInputData[i].charCodeAt(), 0); } } - postEventFn.call(this, 'up', charCode, unoKeyCode); + postEventFn.call(eventObject, 'up', charCode, unoKeyCode); this._keyHandled = true; this._bufferedTextInputEvent = null; @@ -409,7 +411,7 @@ L.Map.Keyboard = L.Handler.extend({ else if (key in this._panKeys && e.originalEvent.shiftKey && docLayer._selections.getLayers().length !== 0) { // if there is a selection and the user wants to modify it - postEventFn.call(this, 'input', charCode, unoKeyCode); + postEventFn.call(eventObject, 'input', charCode, unoKeyCode); } else if (key in this._zoomKeys) { map.setZoom(map.getZoom() + (e.shiftKey ? 3 : 1) * this._zoomKeys[key]); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits