http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.14.tar.gz
[xscreensaver] / hacks / imsmap.c
index 15cb66ae9eea9d69df270f6f5ec2c7f582a94650..fad6a8ca4dedf993df6257e681277f1ef84c60c4 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <stdio.h>
 #include <math.h>
+#include <time.h>
 #include <sys/time.h> /* for gettimeofday() */
 
 #include <X11/Xlib.h>
@@ -27,7 +28,7 @@
 #define COUNT (1 << NSTEPS)
 #define CELL(c, r) cell[((unsigned int)(c)) + ((unsigned int) (r)) * xmax]
 
-static enum mode_t { MODE_H, MODE_S, MODE_V, MODE_RANDOM } mode;
+static enum imsmap_mode { MODE_H, MODE_S, MODE_V, MODE_RANDOM } mode;
 
 static GC gc, gc2;
 static XWindowAttributes xgwa;
@@ -55,7 +56,7 @@ init_map (Display *dpy, Window window)
   int fg_h, bg_h;
   double fg_s, fg_v, bg_s, bg_v;
 
-  enum mode_t this_mode;
+  enum imsmap_mode this_mode;
   static Bool rv_p;
     
   XGCValues gcv;
@@ -77,6 +78,7 @@ init_map (Display *dpy, Window window)
 
       if (ncolors <= 2) ncolors = 0;
       if (ncolors == 0) mono_p = True;
+      if (ncolors > 255) ncolors = 255;  /* too many look bad */
 
       fg_pixel = get_pixel_resource ("background", "Background", dpy, cmap);
       bg_pixel = get_pixel_resource ("foreground", "Foreground", dpy, cmap);
@@ -417,7 +419,7 @@ draw_map (Display *dpy, Window window)
              if (cycle_p)
                {
                  struct timeval now;
-                 static struct timeval then = { 0, };
+                 static struct timeval then = { 0, };
                  unsigned long diff;
 #ifdef GETTIMEOFDAY_TWO_ARGS
                  struct timezone tzp;