BACKENDS: OPENGLSDL: Prevent window resizing events in fullscreen mode

This commit is contained in:
Lothar Serra Mari 2021-08-21 21:02:12 +02:00 committed by Eugene Sandulenko
parent d07c97f3cd
commit 3da65d47cb

View File

@ -350,13 +350,13 @@ bool OpenGLSdlGraphicsManager::loadVideoMode(uint requestedWidth, uint requested
#if SDL_VERSION_ATLEAST(2, 0, 0)
SDL_Window *window = _window->getSDLWindow();
bool _isMaximized = window ? (SDL_GetWindowFlags(window) & SDL_WINDOW_MAXIMIZED) : false;
if (_isMaximized && ConfMan.hasKey("window_maximized_width", Common::ConfigManager::kApplicationDomain) && ConfMan.hasKey("window_maximized_height", Common::ConfigManager::kApplicationDomain)) {
if (_isMaximized && !_wantsFullScreen && ConfMan.hasKey("window_maximized_width", Common::ConfigManager::kApplicationDomain) && ConfMan.hasKey("window_maximized_height", Common::ConfigManager::kApplicationDomain)) {
// Set the window size to the values stored when the window was maximized
// for the last time.
requestedWidth = ConfMan.getInt("window_maximized_width", Common::ConfigManager::kApplicationDomain);
requestedHeight = ConfMan.getInt("window_maximized_height", Common::ConfigManager::kApplicationDomain);
} else if (!_isMaximized && ConfMan.hasKey("last_window_width", Common::ConfigManager::kApplicationDomain) && ConfMan.hasKey("last_window_height", Common::ConfigManager::kApplicationDomain)) {
} else if (!_isMaximized && _wantsFullScreen && ConfMan.hasKey("last_window_width", Common::ConfigManager::kApplicationDomain) && ConfMan.hasKey("last_window_height", Common::ConfigManager::kApplicationDomain)) {
// Load previously stored window dimensions.
requestedWidth = ConfMan.getInt("last_window_width", Common::ConfigManager::kApplicationDomain);
requestedHeight = ConfMan.getInt("last_window_height", Common::ConfigManager::kApplicationDomain);
@ -515,7 +515,7 @@ bool OpenGLSdlGraphicsManager::setupMode(uint width, uint height) {
flags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
}
if (ConfMan.getBool("window_maximized", Common::ConfigManager::kApplicationDomain)) {
if (!_wantsFullScreen && ConfMan.getBool("window_maximized", Common::ConfigManager::kApplicationDomain)) {
flags |= SDL_WINDOW_MAXIMIZED;
}