macOS: Don’t show hidden windows while z-ordering

Calling [NSWindow orderBack] will make the window visible
again, and will e.g. bring back closed menus on application
modality changes.

Fixes: QTBUG-77281
Change-Id: I2f89b852ea9f8ab34c709cec96d93fe305984fb9
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This commit is contained in:
Morten Johan Sørvig 2019-08-09 12:25:05 +02:00
parent 5d7f113320
commit 3729695cc9

View File

@ -92,7 +92,8 @@ void QCocoaWindowManager::modalSessionChanged()
if (NSApp.modalWindow) {
// Lower window to that of the modal windows, but no less
nativeWindow.level = NSModalPanelWindowLevel;
[nativeWindow orderBack:nil];
if ([nativeWindow isVisible])
[nativeWindow orderBack:nil];
} else {
// Restore window's natural window level, whatever that was
nativeWindow.level = naturalWindowLevel;