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.
This commit is contained in:
Julian Eisel 2020-06-10 18:05:30 +02:00
parent 84d4447bc5
commit 4b39de677d
Notes: blender-bot 2023-02-14 09:03:55 +01:00
Referenced by commit 2ef5fabec9, Fix T77900: File Browser in macOS fullscreen crashes
Referenced by issue #77348, Blender LTS: Maintenance Task 2.83
Referenced by issue #74101, Closing secondary full screen window destroys main Blender window too
1 changed files with 5 additions and 5 deletions

View File

@ -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];