diff options
Diffstat (limited to 'src/plugins/platforms/ios/quiview.mm')
-rw-r--r-- | src/plugins/platforms/ios/quiview.mm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm index 200b07b5fc..c46ed4c0b1 100644 --- a/src/plugins/platforms/ios/quiview.mm +++ b/src/plugins/platforms/ios/quiview.mm @@ -271,7 +271,7 @@ m_activeTouches[touch].id = m_nextTouchId++; } - if (m_activeTouches.size() == 1) { + if (m_qioswindow->shouldAutoActivateWindow() && m_activeTouches.size() == 1) { QPlatformWindow *topLevel = m_qioswindow; while (QPlatformWindow *p = topLevel->parent()) topLevel = p; @@ -340,11 +340,16 @@ QWindowSystemInterface::flushWindowSystemEvents(); } -- (id)targetForAction:(SEL)action withSender:(id)sender +- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { // Check first if QIOSMenu should handle the action before continuing up the responder chain - id target = [QIOSMenu::menuActionTarget() targetForAction:action withSender:sender]; - return target ? target : [super targetForAction:action withSender:sender]; + return [QIOSMenu::menuActionTarget() targetForAction:action withSender:sender] != 0; +} + +- (id)forwardingTargetForSelector:(SEL)selector +{ + Q_UNUSED(selector) + return QIOSMenu::menuActionTarget(); } @end |