[Scummvm-git-logs] scummvm master -> 8c587b54ab92a5f21fae2c1db8ebdedaf61b521e

bgK bastien.bouclet at gmail.com
Sat Jul 29 17:27:35 CEST 2017


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
8c587b54ab SDL: Make the window size when exiting fullscreen workaround macOS specific


Commit: 8c587b54ab92a5f21fae2c1db8ebdedaf61b521e
    https://github.com/scummvm/scummvm/commit/8c587b54ab92a5f21fae2c1db8ebdedaf61b521e
Author: Bastien Bouclet (bastien.bouclet at gmail.com)
Date: 2017-07-29T17:25:37+02:00

Commit Message:
SDL: Make the window size when exiting fullscreen workaround macOS specific

The call to SDL_SetWindowSize works around a macOS specific SDL2 bug.
Fixes the window not restoring to its previous position when exiting
fullscreen on Linux/X11.

Changed paths:
    backends/platform/sdl/sdl-window.cpp


diff --git a/backends/platform/sdl/sdl-window.cpp b/backends/platform/sdl/sdl-window.cpp
index bdffa24..07ddc99 100644
--- a/backends/platform/sdl/sdl-window.cpp
+++ b/backends/platform/sdl/sdl-window.cpp
@@ -253,6 +253,13 @@ bool SdlWindow::createOrUpdateWindow(int width, int height, uint32 flags) {
 		return false;
 	}
 
+#if defined(MACOSX)
+	// macOS windows with the flag SDL_WINDOW_FULLSCREEN_DESKTOP exiting their fullscreen space
+	// ignore the size set by SDL_SetWindowSize while they were in fullscreen mode.
+	// Instead, they revert back to their previous windowed mode size.
+	// This is a bug in SDL2: https://bugzilla.libsdl.org/show_bug.cgi?id=3719.
+	// TODO: Remove the call to SDL_SetWindowSize below once the SDL bug is fixed.
+
 	// In some cases at this point there may be a pending SDL resize event with the old size.
 	// This happens for example if we destroyed the window, or when switching between windowed
 	// and fullscreen modes. If we changed the window size here, this pending event will have the
@@ -260,6 +267,7 @@ bool SdlWindow::createOrUpdateWindow(int width, int height, uint32 flags) {
 	// resize event (SDL_WINDOWEVENT_SIZE_CHANGED) so that the last resize event we receive has
 	// the correct size. This fixes for exmample bug #9971: SDL2: Fullscreen to RTL launcher resolution
 	SDL_SetWindowSize(_window, width, height);
+#endif
 
 	_lastFlags = flags;
 





More information about the Scummvm-git-logs mailing list