http://se.aminet.net/pub/Linux/distributions/slackware/slackware-10.1/source/xap...
[xscreensaver] / driver / xset.c
index d26ee1b25a08938164e8d2dbfa3429ed42b40616..677a8c0a2dc5b3f8082bf84513f11932746035b9 100644 (file)
@@ -171,6 +171,7 @@ query_randr_extension (saver_info *si)
   Bool ok = XRRQueryExtension (si->dpy,
                                &si->randr_event_number,
                                &si->randr_error_number);
+
   if (ok)
     {
       int nscreens = ScreenCount (si->dpy);  /* number of *real* screens */
@@ -179,14 +180,18 @@ query_randr_extension (saver_info *si)
       if (p->verbose_p)
        fprintf (stderr, "%s: selecting RANDR events\n", blurb());
       for (i = 0; i < nscreens; i++)
+# ifdef RRScreenChangeNotifyMask                 /* randr.h 1.5, 2002/09/29 */
         XRRSelectInput (si->dpy, RootWindow (si->dpy, i),
                         RRScreenChangeNotifyMask);
+# else  /* !RRScreenChangeNotifyMask */          /* Xrandr.h 1.4, 2001/06/07 */
+        XRRScreenChangeSelectInput (si->dpy, RootWindow (si->dpy, i), True);
+# endif /* !RRScreenChangeNotifyMask */
     }
 
   return ok;
 }
 
-#endif /* HAVE_XIDLE_EXTENSION */
+#endif /* HAVE_RANDR */
 
 
 \f
@@ -226,7 +231,7 @@ disable_builtin_screensaver (saver_info *si, Bool unblank_screen_p)
 
   /* I suspect (but am not sure) that DontAllowExposures might have
      something to do with powering off the monitor as well, at least
-     on some systems that don't support XDPMS?  Who know... */
+     on some systems that don't support XDPMS?  Who knows... */
   desired_allow_exp = AllowExposures;
 
   if (si->using_mit_saver_extension || si->using_sgi_saver_extension)
@@ -251,6 +256,12 @@ disable_builtin_screensaver (saver_info *si, Bool unblank_screen_p)
       desired_server_timeout = 0;
     }
 
+  /* XSetScreenSaver() generates BadValue if either timeout parameter
+     exceeds 15 bits (signed short.)  That is 09:06:07.
+   */
+  if (desired_server_timeout  > 0x7FFF) desired_server_timeout  = 0x7FFF;
+  if (desired_server_interval > 0x7FFF) desired_server_interval = 0x7FFF;
+
   if (desired_server_timeout != current_server_timeout ||
       desired_server_interval != current_server_interval ||
       desired_prefer_blank != current_prefer_blank ||