From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver] / driver / dpms.c
index 4be93319050dd48b04e2b94c17e4b8c9d0a69997..a0dd7b87a2a37d507b808aabe0ee8ca00c732754 100644 (file)
@@ -1,5 +1,5 @@
 /* dpms.c --- syncing the X Display Power Management values
- * xscreensaver, Copyright (c) 2001-2011 Jamie Zawinski <jwz@jwz.org>
+ * xscreensaver, Copyright (c) 2001-2017 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -266,6 +266,7 @@ monitor_power_on (saver_info *si, Bool on_p)
       XSync (si->dpy, False);
       DPMSForceLevel(si->dpy, (on_p ? DPMSModeOn : DPMSModeOff));
       XSync (si->dpy, False);
+      XSetErrorHandler (old_handler);
       /* Ignore error_handler_hit_p, just probe monitor instead */
 
       if ((!!on_p) != monitor_powered_on_p (si))  /* double-check */
@@ -280,6 +281,7 @@ monitor_power_on (saver_info *si, Bool on_p)
 
 void
 sync_server_dpms_settings (Display *dpy, Bool enabled_p,
+                           Bool dpms_quickoff_p,
                            int standby_secs, int suspend_secs, int off_secs,
                            Bool verbose_p)
 {