ios/Mobile/DocumentViewController.mm     |   11 ++++++++++-
 loleaflet/src/layer/AnnotationManager.js |    8 ++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

New commits:
commit 07b6d7ee5e4ac9562e976ac652c20501d336e447
Author:     Tor Lillqvist <[email protected]>
AuthorDate: Tue Jun 11 17:02:57 2019 +0300
Commit:     Tor Lillqvist <[email protected]>
CommitDate: Tue Jun 11 17:33:54 2019 +0300

    Avoid unhandled exception
    
    Change-Id: I2a168a79f334ca5048a85f98350aaa5c08bd1ad8

diff --git a/loleaflet/src/layer/AnnotationManager.js 
b/loleaflet/src/layer/AnnotationManager.js
index eba39f4ef..2217f1db1 100644
--- a/loleaflet/src/layer/AnnotationManager.js
+++ b/loleaflet/src/layer/AnnotationManager.js
@@ -818,6 +818,14 @@ L.AnnotationManager = L.Class.extend({
                        };
                }
 
+               // What if this._initialLayoutData is still undefined when we 
get here? (I.e. if
+               // contentWrapperClass.length == 0.) No idea. Using
+               // this._initialLayoutData.menuWidth below will lead to an 
unhandled exception.
+               // Maybe best to just return then? Somebody who understands the 
code could fix this
+               // better, perhaps.
+               if (this._initialLayoutData === undefined)
+                       return;
+
                var menuClass = $('.loleaflet-annotation-menu');
                if ((this._initialLayoutData.menuWidth === undefined) && 
menuClass.length > 0) {
                        this._initialLayoutData.menuWidth = 
parseInt(menuClass.css('width'));
commit d1087aec26c60a0b5a5c6c998d1634d5dbff5910
Author:     Tor Lillqvist <[email protected]>
AuthorDate: Tue Jun 11 17:18:39 2019 +0300
Commit:     Tor Lillqvist <[email protected]>
CommitDate: Tue Jun 11 17:33:48 2019 +0300

    Prevent the user from zooming the WebView
    
    Does not fix tdf#125383, though. The WebView still can become zoomed
    by manipulating a tunnelled dialog as described in the bug report's
    comments.
    
    Change-Id: I9af8d826c58e2065e54b42bc35f74436b0d34a90

diff --git a/ios/Mobile/DocumentViewController.mm 
b/ios/Mobile/DocumentViewController.mm
index dc61ef23c..6f1891b35 100644
--- a/ios/Mobile/DocumentViewController.mm
+++ b/ios/Mobile/DocumentViewController.mm
@@ -22,7 +22,7 @@
 
 #import "DocumentViewController.h"
 
-@interface DocumentViewController() <WKNavigationDelegate, WKUIDelegate, 
WKScriptMessageHandler> {
+@interface DocumentViewController() <WKNavigationDelegate, WKUIDelegate, 
WKScriptMessageHandler, UIScrollViewDelegate> {
     int closeNotificationPipeForForwardingThread[2];
 }
 
@@ -49,6 +49,11 @@
     // so the problem is still there when using Online from Mobile Safari.
     self.webView.scrollView.scrollEnabled = NO;
 
+    // Prevent the user from zooming the WebView by assigning ourselves as the 
delegate, and
+    // stopping any zoom attempt in scrollViewWillBeginZooming: below. (The 
zooming of the document
+    // contents is handled fully in JavaScript, the WebView has no knowledge 
of that.)
+    self.webView.scrollView.delegate = self;
+
     [self.view addSubview:self.webView];
 
     self.webView.navigationDelegate = self;
@@ -354,6 +359,10 @@
     }
 }
 
+- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView 
*)view {
+    scrollView.pinchGestureRecognizer.enabled = NO;
+}
+
 @end
 
 // vim:set shiftwidth=4 softtabstop=4 expandtab:
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to