diff options
author | Liang Qi <liang.qi@digia.com> | 2012-10-18 11:15:25 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-09 04:09:09 +0100 |
commit | 7aae8c0f0fd566b0b1414548469cb0b5c0c9ec46 (patch) | |
tree | 2e5c8039bcd8fdb63f0b4a47a462d89c20a1eb9f /src/plugins/platforms/cocoa/qcocoaintegration.mm | |
parent | 593b8f7f0b35ddc424d8ccbd5df11fcf2442858e (diff) |
Support native event filter for Mac OS X
Ported from Qt 4 implementation, updated with
QAbstractEventDispatcher::filterNativeEvent() call.
Tested with an example.
Change-Id: I3271f8a565d06d80b7b48ba81728bcdb7b1c32e3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoaintegration.mm')
-rw-r--r-- | src/plugins/platforms/cocoa/qcocoaintegration.mm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index f17e97c115..a361027b49 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -192,7 +192,8 @@ QCocoaIntegration::QCocoaIntegration() qApp->setAttribute(Qt::AA_DontUseNativeMenuBar, false); - NSApplication *cocoaApplication = [NSApplication sharedApplication]; + NSApplication *cocoaApplication = [QT_MANGLE_NAMESPACE(QNSApplication) sharedApplication]; + qt_redirectNSApplicationSendEvent(); if (qEnvironmentVariableIsEmpty("QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM")) { // Applications launched from plain executables (without an app @@ -233,6 +234,8 @@ QCocoaIntegration::QCocoaIntegration() QCocoaIntegration::~QCocoaIntegration() { + qt_resetNSApplicationSendEvent(); + QCocoaAutoReleasePool pool; if (!QCoreApplication::testAttribute(Qt::AA_MacPluginApplication)) { // remove the apple event handlers installed by QCocoaApplicationDelegate |