mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-21 01:41:10 +00:00
don't go fullscreen when already fullcreen
This commit is contained in:
parent
306d6db39b
commit
4cd29c2ff8
2 changed files with 22 additions and 7 deletions
|
@ -66,5 +66,7 @@ void X11_ProcessEvents (void);
|
|||
void X11_RestoreVidMode (void);
|
||||
void X11_SetCaption (char *);
|
||||
void X11_SetVidMode (int, int);
|
||||
void X11_SetScreenSaver (void);
|
||||
void X11_RestoreScreenSaver (void);
|
||||
|
||||
#endif // __context_x11_h_
|
||||
|
|
|
@ -263,13 +263,13 @@ X11_SetVidMode (int width, int height)
|
|||
{
|
||||
const char *str = getenv ("MESA_GLX_FX");
|
||||
|
||||
if (vidmode_active)
|
||||
return;
|
||||
|
||||
if (str && (tolower (*str) == 'f')) {
|
||||
Cvar_Set (vid_fullscreen, "1");
|
||||
}
|
||||
|
||||
XGetScreenSaver (x_disp, &xss_timeout, &xss_interval, &xss_blanking,
|
||||
&xss_exposures);
|
||||
|
||||
#ifdef HAVE_VIDMODE
|
||||
vidmode_avail = VID_CheckVMode (x_disp, NULL, NULL);
|
||||
|
||||
|
@ -307,10 +307,10 @@ X11_SetVidMode (int width, int height)
|
|||
if (found_mode) {
|
||||
Con_Printf ("VID: Chose video mode: %dx%d\n", vid.width, vid.height);
|
||||
|
||||
XSetScreenSaver (x_disp, 0, xss_interval, xss_blanking, xss_exposures);
|
||||
XF86VidModeSwitchToMode (x_disp, x_screen, vidmodes[best_mode]);
|
||||
X11_ForceViewPort ();
|
||||
vidmode_active = true;
|
||||
X11_SetScreenSaver ();
|
||||
} else {
|
||||
Con_Printf ("VID: Mode %dx%d can't go fullscreen.\n", vid.width, vid.height);
|
||||
vid_gamma_avail = vidmode_avail = vidmode_active = false;
|
||||
|
@ -417,11 +417,9 @@ X11_CreateWindow (int width, int height)
|
|||
void
|
||||
X11_RestoreVidMode (void)
|
||||
{
|
||||
XSetScreenSaver (x_disp, xss_timeout, xss_interval, xss_blanking,
|
||||
xss_exposures);
|
||||
|
||||
#ifdef HAVE_VIDMODE
|
||||
if (vidmode_active) {
|
||||
X11_RestoreScreenSaver ();
|
||||
X11_SetGamma (x_gamma);
|
||||
XF86VidModeSwitchToMode (x_disp, x_screen, vidmodes[original_mode]);
|
||||
XFree (vidmodes);
|
||||
|
@ -512,3 +510,18 @@ X11_SetGamma (double gamma)
|
|||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
void
|
||||
X11_SetScreenSaver (void)
|
||||
{
|
||||
XGetScreenSaver (x_disp, &xss_timeout, &xss_interval, &xss_blanking,
|
||||
&xss_exposures);
|
||||
XSetScreenSaver (x_disp, 0, xss_interval, xss_blanking, xss_exposures);
|
||||
}
|
||||
|
||||
void
|
||||
X11_RestoreScreenSaver (void)
|
||||
{
|
||||
XSetScreenSaver (x_disp, xss_timeout, xss_interval, xss_blanking,
|
||||
xss_exposures);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue