http://ftp.x.org/contrib/applications/xscreensaver-3.10.tar.gz
[xscreensaver] / utils / colors.c
index 86b134426b44306620951295d3b629e5f2913b4e..698bc9402fbeeec33d63570a0c6d240f2b645355 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1997 Jamie Zawinski <jwz@netscape.com>
+/* xscreensaver, Copyright (c) 1997 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
@@ -50,7 +50,7 @@ allocate_writable_colors (Display *dpy, Colormap cmap,
   while (got < desired
         && requested > 0)
     {
-      if (desired - got > requested)
+      if (desired - got < requested)
        requested = desired - got;
 
       if (XAllocColorCells (dpy, cmap, False, 0, 0, new_pixels, requested))
@@ -494,7 +494,7 @@ make_smooth_colormap (Display *dpy, Visual *visual, Colormap cmap,
          if (dh < 0) dh = -dh;
          if (dh > 0.5) dh = 0.5 - (dh - 0.5);
          distance = sqrt ((dh * dh) +
-                          ((s[j] - s[i]) * (s[j] - v[i])) +
+                          ((s[j] - s[i]) * (s[j] - s[i])) +
                           ((v[j] - v[i]) * (v[j] - v[i])));
          if (distance < 0.2)
            goto REPICK_THIS_COLOR;
@@ -560,7 +560,8 @@ make_uniform_colormap (Display *dpy, Visual *visual, Colormap cmap,
                  0,   S, V,
                  359, S, V,
                  colors, &ncolors,
-                 False, True, wanted_writable);
+                 False, True,
+                  (writable_pP && *writable_pP));
 
   /* If we tried for writable cells and got none, try for non-writable. */
   if (allocate_p && *ncolorsP == 0 && writable_pP && *writable_pP)