diff src/video/x11/SDL_x11events.c @ 3936:c5c3c772f5aa SDL-1.2

Let app set SDL_VIDEO_ALLOW_SCREENSAVER environment variable to override SDL's attempt to disable screen savers. Works for Quartz (Mac OS X) and X11. Need a formal API for this in 1.3, still. Fixes Bugzilla #415.
author Ryan C. Gordon <icculus@icculus.org>
date Fri, 06 Apr 2007 20:30:41 +0000
parents 409974dedf2e
children b966761fef6c
line wrap: on
line diff
--- a/src/video/x11/SDL_x11events.c	Wed Apr 04 10:34:42 2007 +0000
+++ b/src/video/x11/SDL_x11events.c	Fri Apr 06 20:30:41 2007 +0000
@@ -1136,9 +1136,14 @@
 #endif /* SDL_VIDEO_DRIVER_X11_DPMS */
 }
 
-void X11_DisableScreenSaver(Display *display)
+void X11_DisableScreenSaver(_THIS, Display *display)
 {
 	int timeout, interval, prefer_blank, allow_exp;
+
+	if (this->hidden->allow_screensaver) {
+		return;
+	}
+
 	XGetScreenSaver(display, &timeout, &interval, &prefer_blank, &allow_exp);
 	timeout = 0;
 	XSetScreenSaver(display, timeout, interval, prefer_blank, allow_exp);
@@ -1153,9 +1158,14 @@
 #endif /* SDL_VIDEO_DRIVER_X11_DPMS */
 }
 
-void X11_RestoreScreenSaver(Display *display, int saved_timeout, BOOL dpms)
+void X11_RestoreScreenSaver(_THIS, Display *display, int saved_timeout, BOOL dpms)
 {
 	int timeout, interval, prefer_blank, allow_exp;
+
+	if (this->hidden->allow_screensaver) {
+		return;
+	}
+
 	XGetScreenSaver(display, &timeout, &interval, &prefer_blank, &allow_exp);
 	timeout = saved_timeout;
 	XSetScreenSaver(display, timeout, interval, prefer_blank, allow_exp);