mirror of https://github.com/libsdl-org/SDL.git
If we're not the current fullscreen window and we don't want to be fullscreen, don't touch the current video mode
Fixes an assertion in qemu on macOS, which creates multiple hidden windows: 2023-03-07 09:56:55.304 qemu-system-i386[9931:2984587] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition. Called from ( 0 AppKit 0x00000001968f77ac __25-[NSWindow setStyleMask:]_block_invoke + 140 1 AppKit 0x00000001968f76cc NSPerformVisuallyAtomicChange + 108 2 AppKit 0x00000001968f7580 -[NSWindow setStyleMask:] + 188 3 libSDL2-2.0.0.dylib 0x0000000106531328 Cocoa_SetWindowFullscreen + 568 4 libSDL2-2.0.0.dylib 0x0000000106501700 SDL_UpdateFullscreenMode + 1316 5 libSDL2-2.0.0.dylib 0x0000000106504270 SDL_SetWindowFullscreen_REAL + 328 6 libSDL2-2.0.0.dylib 0x000000010650117c SDL_FinishWindowCreation + 100 7 libSDL2-2.0.0.dylib 0x0000000106500998 SDL_CreateWindow_REAL + 1812 8 libSDL2-2.0.0.dylib 0x00000001063efd54 SDL_CreateWindow + 76 9 qemu-system-i386 0x00000001050aa600 sdl2_window_create + 192 10 qemu-system-i386 0x00000001050a9fa0 sdl2_2d_switch + 196 11 qemu-system-i386 0x0000000104e9c784 displaychangelistener_display_console + 524 12 qemu-system-i386 0x0000000104e9e36c register_displaychangelistener + 264 13 qemu-system-i386 0x00000001050ab6d0 sdl2_display_init + 304 14 qemu-system-i386 0x000000010505c870 qemu_init + 13380
This commit is contained in:
parent
e0e79419b6
commit
1bd9ebf533
|
|
@ -1420,6 +1420,13 @@ static int SDL_UpdateFullscreenMode(SDL_Window *window, SDL_bool fullscreen)
|
|||
if ((window->last_fullscreen_flags & FULLSCREEN_MASK) == (window->flags & FULLSCREEN_MASK)) {
|
||||
return 0;
|
||||
}
|
||||
if (!fullscreen) {
|
||||
if (_this->SetWindowFullscreen) {
|
||||
_this->SetWindowFullscreen(_this, window, display, SDL_FALSE);
|
||||
}
|
||||
window->last_fullscreen_flags = window->flags;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* See if there are any fullscreen windows */
|
||||
|
|
|
|||
Loading…
Reference in New Issue