http://ftp.x.org/contrib/applications/xscreensaver-3.23.tar.gz
[xscreensaver] / hacks / critical.c
index ae3df0b13bd8a986a0027afa004ab4369ec2807e..3f8f2763ab85dc812ca6fc16dd49fcc068fcd8e8 100644 (file)
@@ -267,8 +267,8 @@ screenhack (Display *dpy, Window window)
 
   fgc = XCreateGC (dpy, window, 0, &gcv);
 
-  x2 = rand() % model_w;
-  y2 = rand() % model_h;
+  x2 = random() % model_w;
+  y2 = random() % model_h;
 
   delay_usecs = get_integer_resource ("delay", "Integer");
   n_restart = get_integer_resource ("restart", "Integer");
@@ -308,12 +308,11 @@ screenhack (Display *dpy, Window window)
                 x2 * cell_size + cell_size/2,
                 y2 * cell_size + cell_size/2);
 
-      /* Flush changes to display, and discard any pending input --
-        we'll never look at it anyhow, and it saves it filling up
-        memory. */
-      XSync (dpy, True); 
+      XSync (dpy, False); 
+      screenhack_handle_events (dpy);
 
-      usleep (delay_usecs);
+      if (delay_usecs)
+        usleep (delay_usecs);
     }
 
     i_restart = (i_restart + 1) % n_restart;