diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-06-29 16:25:56 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2017-07-06 18:26:40 +0000 |
commit | 8143f60026456f98aaf2b6afaf1edadfbeb2f1e7 (patch) | |
tree | 0e46e6471598e36d29bb5596fcfaae770294c49d /src/widgets/kernel | |
parent | b282d11873c089a1eddbb01e97ab6ac60b7dcf28 (diff) |
macOS: Deliver native events to windows, as well as to event filters
Qt has two APIs to intercept native events today:
- QAbstractEventDispatcher::installNativeEventFilter()
- Q{Window|Widget}::nativeEvent()
On macOS we only implemented one of them, the native event filter code
path, by calling filterNativeEvent from the Cocoa event dispatcher.
We now also propagate the native event to the corresponding QWindow,
and QWidget if applicable.
It would be nice if there was only one Qt API for this, or at least
only one codepath for platform plugins to care about, but since the
event filter might catch more event types than gets delivered to the
window, we probably need both code paths going forward.
Task-number: QTBUG-40116
Change-Id: I0796bd62a2b7c08b2eaaf6f15db8088e9703af02
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index b0e5900f36..37f87c60dc 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -10001,6 +10001,7 @@ void QWidget::hideEvent(QHideEvent *) \table \header \li Platform \li Event Type Identifier \li Message Type \li Result Type \row \li Windows \li "windows_generic_MSG" \li MSG * \li LRESULT + \row \li macOS \li "NSEvent" \li NSEvent * \li \endtable */ |