diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2021-09-15 10:12:16 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2021-09-15 17:49:35 +0200 |
commit | 1e5249bfa49c98116ad7743a89c77b594cfd38fa (patch) | |
tree | 17efc1593674f5f40e50567c2565cac8d7e39014 | |
parent | a6279b74e222451510dda19e2c43d22202c4fd67 (diff) |
macOS: remove mouse and key grabbing logic from Cocoa plugin
For QGuiApplication with QWindow, no other QPA plugins do
so, and for QApplication with QWidgets, QApplication implements popup
functionality consistently.
Task-number: QTBUG-96450
Change-Id: I47489296e0e470d8948ca7858d0a2608c58b2975
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_keys.mm | 6 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qnsview_mouse.mm | 9 |
2 files changed, 0 insertions, 15 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview_keys.mm b/src/plugins/platforms/cocoa/qnsview_keys.mm index c8c6fb320a..5e99d0a9c3 100644 --- a/src/plugins/platforms/cocoa/qnsview_keys.mm +++ b/src/plugins/platforms/cocoa/qnsview_keys.mm @@ -48,12 +48,6 @@ // FIXME: Why is this the top level window and not m_platformWindow? QWindow *window = [self topLevelWindow]; - if (QCocoaWindow *popup = QCocoaIntegration::instance()->activePopupWindow()) { - // Popups implicitly grab key events; forward to the active popup if there is one. - // This allows popups to e.g. intercept shortcuts and close the popup in response. - if (!popup->window()->flags().testFlag(Qt::ToolTip)) - window = popup->window(); - } // We will send a key event unless the input method handles it QBoolBlocker sendKeyEventGuard(m_sendKeyEvent, true); diff --git a/src/plugins/platforms/cocoa/qnsview_mouse.mm b/src/plugins/platforms/cocoa/qnsview_mouse.mm index 4dc9ce0ad7..d6492f858a 100644 --- a/src/plugins/platforms/cocoa/qnsview_mouse.mm +++ b/src/plugins/platforms/cocoa/qnsview_mouse.mm @@ -146,15 +146,6 @@ static const QPointingDevice *pointingDeviceFor(qint64 deviceID) if (!targetView.platformWindow) return; - // Popups implicitly grap mouse events; forward to the active popup if there is one - if (QCocoaWindow *popup = QCocoaIntegration::instance()->activePopupWindow()) { - // Tooltips must be transparent for mouse events - // The bug reference is QTBUG-46379 - if (!popup->window()->flags().testFlag(Qt::ToolTip)) { - if (QNSView *popupView = qnsview_cast(popup->view())) - targetView = popupView; - } - } [targetView convertFromScreen:[self screenMousePoint:theEvent] toWindowPoint:&qtWindowPoint andScreenPoint:&qtScreenPoint]; ulong timestamp = [theEvent timestamp] * 1000; |