summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/ios/qiostextinputoverlay.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/qiostextinputoverlay.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/qiostextinputoverlay.mm')
-rw-r--r--src/plugins/platforms/ios/qiostextinputoverlay.mm8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/platforms/ios/qiostextinputoverlay.mm b/src/plugins/platforms/ios/qiostextinputoverlay.mm
index fe3c29d037..87c282e24a 100644
--- a/src/plugins/platforms/ios/qiostextinputoverlay.mm
+++ b/src/plugins/platforms/ios/qiostextinputoverlay.mm
@@ -46,6 +46,7 @@
#include <QtGui/private/qinputmethod_p.h>
#include <QtCore/private/qobject_p.h>
+#include <QtCore/private/qcore_mac_p.h>
#include "qiosglobal.h"
#include "qiostextinputoverlay.h"
@@ -475,7 +476,7 @@ static void executeBlockWithoutAnimation(Block block)
if (enabled) {
_focusView = [reinterpret_cast<UIView *>(qApp->focusWindow()->winId()) retain];
- _desktopView = [[UIApplication sharedApplication].keyWindow.rootViewController.view retain];
+ _desktopView = [qt_apple_sharedApplication().keyWindow.rootViewController.view retain];
Q_ASSERT(_focusView && _desktopView && _desktopView.superview);
[_desktopView addGestureRecognizer:self];
} else {
@@ -991,6 +992,11 @@ QIOSTextInputOverlay::QIOSTextInputOverlay()
, m_selectionRecognizer(nullptr)
, m_openMenuOnTapRecognizer(nullptr)
{
+ if (qt_apple_isApplicationExtension()) {
+ qWarning() << "text input overlays disabled in application extensions";
+ return;
+ }
+
connect(qApp, &QGuiApplication::focusObjectChanged, this, &QIOSTextInputOverlay::updateFocusObject);
}