Cocoa: cleanup modal sessions for dialogs not run with .exec()

For modal dialogs not run through QDialog.exec(), the modal sessions
were not cleaned up, causing the application's menus to be inaccessible.

Task-number: QTBUG-37699
Change-Id: I2704c23fec8989aa2e8ddcc3d5e3f21bb6c5db73
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
bb10
Dyami Caliri 2014-06-18 10:58:10 -07:00 committed by Morten Johan Sørvig
parent b5f2843791
commit 83ecf1e97d
1 changed files with 3 additions and 0 deletions

View File

@ -870,6 +870,9 @@ void QCocoaEventDispatcherPrivate::processPostedEvents()
return;
}
if (cleanupModalSessionsNeeded && currentExecIsNSAppRun)
cleanupModalSessions();
if (processEventsCalled > 0 && interrupt) {
if (currentExecIsNSAppRun) {
// The event dispatcher has been interrupted. But since