http://www.tienza.es/crux/src/www.jwz.org/xscreensaver/xscreensaver-5.06.tar.gz
[xscreensaver] / hacks / screenhack.c
index 8ea025d0da6068ba5e3b8795718a14d61c960d27..443d3f423745562b89165e8df92fa620caad08ec 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1992-2006 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1992-2008 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
@@ -581,7 +581,7 @@ run_screenhack_table (Display *dpy,
     {
       unsigned long delay = ft->draw_cb (dpy, window, closure);
 #ifdef DEBUG_PAIR
-      unsigned long delay2;
+      unsigned long delay2 = 0;
       if (window2) delay2 = ft->draw_cb (dpy, window2, closure2);
 #endif
 
@@ -684,7 +684,7 @@ init_window (Display *dpy, Widget toplevel, const char *title)
   window = XtWindow (toplevel);
   XGetWindowAttributes (dpy, window, &xgwa);
   XSelectInput (dpy, window,
-                (xgwa.your_event_mask | KeyPressMask |
+                (xgwa.your_event_mask | KeyPressMask | KeyReleaseMask |
                  ButtonPressMask | ButtonReleaseMask));
   XChangeProperty (dpy, window, XA_WM_PROTOCOLS, XA_ATOM, 32,
                    PropModeReplace,
@@ -882,6 +882,8 @@ main (int argc, char **argv)
       window = VirtualRootWindowOfScreen (XtScreen (toplevel));
       XtDestroyWidget (toplevel);
       XGetWindowAttributes (dpy, window, &xgwa);
+      /* With RANDR, the root window can resize! */
+      XSelectInput (dpy, window, xgwa.your_event_mask | StructureNotifyMask);
       visual_warning (xgwa.screen, window, xgwa.visual, xgwa.colormap, False);
     }
   else