macOS: Remove popup mouse and app activation monitors on app shutdown

We're not guaranteed to get into any of the code paths that call
removePopupMonitor() before the app goes away. In a plugin-scenario,
this may cause crashes when our monitor then gets a callback and
we try to access QGuiApplicationPrivate::instance().

Pick-to: 6.7 6.6 6.5 6.2
Fixes: QTBUG-123959
Change-Id: I287b91ff261a8aab74adbbad8c63a042daf944d5
Reviewed-by: Doris Verria <doris.verria@qt.io>
bb10
Tor Arne Vestbø 2024-04-02 18:00:00 +02:00
parent 699ddcb15b
commit 8bb93bf8ee
1 changed files with 3 additions and 0 deletions

View File

@ -185,6 +185,9 @@ QCocoaIntegration::~QCocoaIntegration()
[[NSApplication sharedApplication] setDelegate:nil];
}
// Stop global mouse event and app activation monitoring
QCocoaWindow::removePopupMonitor();
#ifndef QT_NO_CLIPBOARD
// Delete the clipboard integration and destroy mime type converters.
// Deleting the clipboard integration flushes promised pastes using