From 60bf482dba721e3878770e6abefa3b35acca0021 Mon Sep 17 00:00:00 2001 From: Julian Eisel Date: Wed, 10 Jun 2020 18:05:30 +0200 Subject: Fix T74101: File Browser in macOS fullscreen crashes or makes windows unusable When closing the File Browser window after making it fullscreen, Blender would either crash or all windows would disappear, with no obvious way to bring them back. The "fix" is to not allow fullscreen for File Browsers (or any future "dialog" windows), but only maximizing. From what I can tell that's how secondary windows are supposed to work on macOS. What we previously did seemed like something macOS doesn't handle cleanly, and I didn't find a simple way to do so on our side. --- intern/ghost/intern/GHOST_WindowCocoa.mm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'intern') diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm index 10ab05a0de1..278147c5622 100644 --- a/intern/ghost/intern/GHOST_WindowCocoa.mm +++ b/intern/ghost/intern/GHOST_WindowCocoa.mm @@ -411,17 +411,17 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(GHOST_SystemCocoa *systemCocoa, NSTIFFPboardType, nil]]; - if (state != GHOST_kWindowStateFullScreen) { + if (is_dialog && parentWindow) { + [parentWindow->getCocoaWindow() addChildWindow:m_window ordered:NSWindowAbove]; + [m_window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenAuxiliary]; + } + else if (state != GHOST_kWindowStateFullScreen) { [m_window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary]; } if (state == GHOST_kWindowStateFullScreen) setState(GHOST_kWindowStateFullScreen); - if (is_dialog && parentWindow) { - [parentWindow->getCocoaWindow() addChildWindow:m_window ordered:NSWindowAbove]; - } - setNativePixelSize(); [pool drain]; -- cgit v1.2.3