mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-10 07:12:07 +00:00
Remove workaround for SDL bug #4700 from glimp_sdl3.c.
It has been fixed since SDL 2.22, all SDL 3 versions will have the fix.
This commit is contained in:
parent
2c624d0207
commit
2877f1c391
1 changed files with 0 additions and 55 deletions
|
@ -121,10 +121,6 @@ CreateSDLWindow(int flags, int w, int h)
|
||||||
last_display = SDL_GetDisplayForWindow(window);
|
last_display = SDL_GetDisplayForWindow(window);
|
||||||
SDL_GetWindowPosition(window, &last_position_x, &last_position_y);
|
SDL_GetWindowPosition(window, &last_position_x, &last_position_y);
|
||||||
|
|
||||||
/* Check if we're really in the requested diplay mode. There is
|
|
||||||
(or was) an SDL bug were SDL switched into the wrong mode
|
|
||||||
without giving an error code. See the bug report for details:
|
|
||||||
https://bugzilla.libsdl.org/show_bug.cgi?id=4700 */
|
|
||||||
SDL_DisplayMode real_mode;
|
SDL_DisplayMode real_mode;
|
||||||
|
|
||||||
if ((flags & (SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP)) == SDL_WINDOW_FULLSCREEN)
|
if ((flags & (SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP)) == SDL_WINDOW_FULLSCREEN)
|
||||||
|
@ -140,57 +136,6 @@ CreateSDLWindow(int flags, int w, int h)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SDL_WINDOW_FULLSCREEN_DESKTOP implies SDL_WINDOW_FULLSCREEN! */
|
|
||||||
if (((flags & (SDL_WINDOW_FULLSCREEN | SDL_WINDOW_FULLSCREEN_DESKTOP)) == SDL_WINDOW_FULLSCREEN)
|
|
||||||
&& ((real_mode.w != w) || (real_mode.h != h)))
|
|
||||||
{
|
|
||||||
|
|
||||||
Com_Printf("Current display mode isn't requested display mode\n");
|
|
||||||
Com_Printf("Likely SDL bug #4700, trying to work around it\n");
|
|
||||||
|
|
||||||
/* Mkay, try to hack around that. */
|
|
||||||
SDL_DisplayMode wanted_mode = {0};
|
|
||||||
|
|
||||||
wanted_mode.w = w;
|
|
||||||
wanted_mode.h = h;
|
|
||||||
|
|
||||||
if (SDL_SetWindowFullscreenMode(window, &wanted_mode) != 0)
|
|
||||||
{
|
|
||||||
SDL_DestroyWindow(window);
|
|
||||||
window = NULL;
|
|
||||||
|
|
||||||
Com_Printf("Can't force resolution to %ix%i: %s\n", w, h, SDL_GetError());
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* The SDL doku says, that SDL_SetWindowSize() shouldn't be
|
|
||||||
used on fullscreen windows. But at least in my test with
|
|
||||||
SDL 2.0.9 the subsequent SDL_GetWindowDisplayMode() fails
|
|
||||||
if I don't call it. */
|
|
||||||
SDL_SetWindowSize(window, wanted_mode.w, wanted_mode.h);
|
|
||||||
|
|
||||||
if (SDL_GetWindowFullscreenMode(window, &real_mode) != 0)
|
|
||||||
{
|
|
||||||
SDL_DestroyWindow(window);
|
|
||||||
window = NULL;
|
|
||||||
|
|
||||||
Com_Printf("Can't get display mode: %s\n", SDL_GetError());
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((real_mode.w != w) || (real_mode.h != h))
|
|
||||||
{
|
|
||||||
SDL_DestroyWindow(window);
|
|
||||||
window = NULL;
|
|
||||||
|
|
||||||
Com_Printf("Still in wrong display mode: %ix%i instead of %ix%i\n", real_mode.w, real_mode.h, w, h);
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Normally SDL stays at desktop refresh rate or chooses something
|
/* Normally SDL stays at desktop refresh rate or chooses something
|
||||||
sane. Some player may want to override that.
|
sane. Some player may want to override that.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue