From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / whirlygig.c
index 95108684e3c673fb0f7de839ade5825af993c2a2..22c7ddd650908981b4002950a994c2b507312a35 100644 (file)
@@ -307,6 +307,7 @@ static int preen(int current, int max) {
     return(current);
 }
 
+#if 0
 static void
 smoothen(struct state *st, int x, int lastx, int y, int lasty, int size, int last_color, XColor *colors, Display *dpy, Window window, GC bgc, int screen, struct info *info)
 {
@@ -327,6 +328,7 @@ smoothen(struct state *st, int x, int lastx, int y, int lasty, int size, int las
         smoothen(st, newx, x, newy, y, size, last_color, st->colors, st->dpy, st->window, st->bgc, st->screen, st->info);
     }
 }
+#endif
 
 
 static void *
@@ -340,7 +342,7 @@ whirlygig_init (Display *dpy, Window window)
 
     st->dbuf = get_boolean_resource (st->dpy, "doubleBuffer", "Boolean");
 
-# ifdef HAVE_COCOA     /* Don't second-guess Quartz's double-buffering */
+# ifdef HAVE_JWXYZ     /* Don't second-guess Quartz's double-buffering */
     st->dbuf = False;
 # endif
 
@@ -380,14 +382,16 @@ whirlygig_init (Display *dpy, Window window)
     st->gcv.foreground = get_pixel_resource(st->dpy, st->xgwa.colormap, "background", "Background");
     st->bgc = XCreateGC (st->dpy, st->b, GCForeground, &st->gcv);
 
-#ifdef HAVE_COCOA  /* #### should turn off double-buffering instead */
+#ifdef HAVE_JWXYZ  /* #### should turn off double-buffering instead */
     jwxyz_XSetAntiAliasing (dpy, st->fgc, False);
     jwxyz_XSetAntiAliasing (dpy, st->bgc, False);
 #endif
 
     {
       Bool writable_p = False;
-    make_uniform_colormap (st->dpy, st->xgwa.visual, st->xgwa.colormap, st->colors, &st->ncolors, True, &writable_p, True);
+    make_uniform_colormap (st->xgwa.screen, st->xgwa.visual,
+                           st->xgwa.colormap, st->colors, &st->ncolors,
+                           True, &writable_p, True);
     }
 
     if (st->ba) XFillRectangle (st->dpy, st->ba, st->bgc, 0, 0, st->xgwa.width, st->xgwa.height);
@@ -499,11 +503,9 @@ whirlygig_draw (Display *dpy, Window window, void *closure)
     st->current_color = 0;
   for (wcount = 0; wcount < st->info->whirlies; wcount++) {
     int lcount; /* lcount is a counter for every line -- take note of the offsets changing */
-    int internal_time = st->current_time;
+    int internal_time = 0;
     int color_offset = (st->current_color + (st->info->color_modifier * wcount)) % NCOLORS;
-    if (st->current_time == 0)
-      internal_time = 0;
-    else
+    if (st->current_time != 0)
       /* I want the distance between whirlies to increase more each whirly */
       internal_time = st->current_time + (10 * wcount) + (wcount * wcount); 
     switch (st->xmode) {