diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/platforms/cocoa/qnswindow.mm | 7 | ||||
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm index f76934033c..e44db3ff3b 100644 --- a/src/plugins/platforms/cocoa/qnswindow.mm +++ b/src/plugins/platforms/cocoa/qnswindow.mm @@ -43,6 +43,7 @@ #include "qcocoahelpers.h" #include "qcocoaeventdispatcher.h" +#include <qpa/qwindowsysteminterface.h> #include <qoperatingsystemversion.h> static bool isMouseEvent(NSEvent *ev) @@ -122,6 +123,12 @@ static bool isMouseEvent(NSEvent *ev) if (!self.platformWindow) return; + const char *eventType = object_getClassName(theEvent); + if (QWindowSystemInterface::handleNativeEvent(self.platformWindow->window(), + QByteArray::fromRawData(eventType, qstrlen(eventType)), theEvent, nullptr)) { + return; + } + [self.window superSendEvent:theEvent]; if (!self.platformWindow) 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 */ |