From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver] / hacks / starfish.c
index 2e06ee9e297b3853b9ede5f6cb83bf63772a531f..5e94144401a4d51ce67e681f8481a2ca0b720534 100644 (file)
@@ -71,7 +71,6 @@ make_starfish (struct state *st, int maxx, int maxy, int size)
 {
   struct starfish *s = (struct starfish *) calloc(1, sizeof(*s));
   int i;
-  int mid;
 
   s->blob_p = st->blob_p;
   s->elasticity = SCALE * get_float_resource (st->dpy, "thickness", "Thickness");
@@ -121,7 +120,6 @@ make_starfish (struct state *st, int maxx, int maxy, int size)
   s->min_r = 0;
 
   if (s->min_r < (5*SCALE)) s->min_r = (5*SCALE);
-  mid = ((s->min_r + s->max_r) / 2);
 
   s->x = maxx/2;
   s->y = maxy/2;
@@ -324,6 +322,13 @@ make_window_starfish (struct state *st)
   size = (xgwa.width < xgwa.height ? xgwa.width : xgwa.height);
   if (st->blob_p) size /= 2;
   else size *= 1.3;
+
+  if (xgwa.width < 100 || xgwa.height < 100) /* tiny window */
+    {
+      size = (xgwa.width > xgwa.height ? xgwa.width : xgwa.height);
+      if (size < 100) size = 100;
+    }
+
   return make_starfish (st, xgwa.width, xgwa.height, size);
 }
 
@@ -390,7 +395,7 @@ reset_starfish (struct state *st)
   flags |= GCFillRule;
   gcv.fill_rule = EvenOddRule;
   st->gc = XCreateGC (st->dpy, st->window, flags, &gcv);
-#ifdef HAVE_COCOA
+#ifdef HAVE_JWXYZ
   if (!st->blob_p)
     jwxyz_XSetAntiAliasing (st->dpy, st->gc, False);
 #endif
@@ -532,7 +537,7 @@ static const char *starfish_defaults [] = {
   "*duration:          30",
   "*delay2:            5",
   "*mode:              random",
-#ifdef USE_IPHONE
+#ifdef HAVE_MOBILE
   "*ignoreRotation:     True",
 #endif
   0