summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qapplication_mac.mm5
-rw-r--r--src/gui/kernel/qcocoaapplication_mac.mm7
-rw-r--r--src/gui/kernel/qcocoaapplication_mac_p.h1
3 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_mac.mm b/src/gui/kernel/qapplication_mac.mm
index d01f296..141f390 100644
--- a/src/gui/kernel/qapplication_mac.mm
+++ b/src/gui/kernel/qapplication_mac.mm
@@ -1311,6 +1311,11 @@ void qt_cleanup()
}
#endif
qt_release_apple_event_handler();
+
+#ifdef QT_MAC_USE_COCOA
+ qt_resetNSApplicationSendEvent();
+#endif
+
qt_release_tablet_proximity_handler();
if (tablet_proximity_UPP)
DisposeEventHandlerUPP(tablet_proximity_UPP);
diff --git a/src/gui/kernel/qcocoaapplication_mac.mm b/src/gui/kernel/qcocoaapplication_mac.mm
index 5168ae5..f595d78 100644
--- a/src/gui/kernel/qcocoaapplication_mac.mm
+++ b/src/gui/kernel/qcocoaapplication_mac.mm
@@ -218,5 +218,12 @@ void qt_redirectNSApplicationSendEvent()
@selector(qt_sendEvent_original:));
}
+void qt_resetNSApplicationSendEvent()
+{
+ qt_cocoa_change_back_implementation([NSApplication class],
+ @selector(sendEvent:),
+ @selector(qt_sendEvent_original:));
+}
+
QT_END_NAMESPACE
#endif
diff --git a/src/gui/kernel/qcocoaapplication_mac_p.h b/src/gui/kernel/qcocoaapplication_mac_p.h
index 60e3062..12ea783 100644
--- a/src/gui/kernel/qcocoaapplication_mac_p.h
+++ b/src/gui/kernel/qcocoaapplication_mac_p.h
@@ -111,6 +111,7 @@ QT_FORWARD_DECLARE_CLASS(QApplicationPrivate)
QT_BEGIN_NAMESPACE
void qt_redirectNSApplicationSendEvent();
+void qt_resetNSApplicationSendEvent();
QT_END_NAMESPACE