summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiosinputcontext.mm
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-05-07 16:17:21 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2018-06-05 12:24:05 +0000
commita15db3a81aa6053d1b3ce346b4cb160c064a2c43 (patch)
tree69b6323b3d79207748ec3907dd9ff796818df92d /src/plugins/platforms/ios/qiosinputcontext.mm
parent80583809041717f499c46aeb9b23f97562bcc9e5 (diff)
iOS: Guard all uses of APIs not available in application extensions
Change-Id: Ic058a0c07f6cdd0a015f46db96fce1536a712711 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/plugins/platforms/ios/qiosinputcontext.mm')
-rw-r--r--src/plugins/platforms/ios/qiosinputcontext.mm9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/qiosinputcontext.mm b/src/plugins/platforms/ios/qiosinputcontext.mm
index 050c592aca..493c283ec1 100644
--- a/src/plugins/platforms/ios/qiosinputcontext.mm
+++ b/src/plugins/platforms/ios/qiosinputcontext.mm
@@ -49,6 +49,8 @@
#include "qioswindow.h"
#include "quiview.h"
+#include <QtCore/private/qcore_mac_p.h>
+
#include <QGuiApplication>
#include <QtGui/private/qwindow_p.h>
@@ -536,6 +538,11 @@ void QIOSInputContext::scroll(int y)
if (!rootView)
return;
+ if (qt_apple_isApplicationExtension()) {
+ qWarning() << "can't scroll root view in application extension";
+ return;
+ }
+
CATransform3D translationTransform = CATransform3DMakeTranslation(0.0, -y, 0.0);
if (CATransform3DEqualToTransform(translationTransform, rootView.layer.sublayerTransform))
return;
@@ -574,7 +581,7 @@ void QIOSInputContext::scroll(int y)
// Raise all known windows to above the status-bar if we're scrolling the screen,
// while keeping the relative window level between the windows the same.
- NSArray *applicationWindows = [[UIApplication sharedApplication] windows];
+ NSArray *applicationWindows = [qt_apple_sharedApplication() windows];
static QHash<UIWindow *, UIWindowLevel> originalWindowLevels;
for (UIWindow *window in applicationWindows) {
if (keyboardScrollIsActive && !originalWindowLevels.contains(window))