From http://www.jwz.org/xscreensaver/xscreensaver-5.22.tar.gz
[xscreensaver] / hacks / imsmap.c
index 6e1f31dded435a8f7bbc437cc2dead2c62546155..d7f0147f42a1b4f0d9f92003155d32701f24ed12 100644 (file)
@@ -1,4 +1,4 @@
-/* imsmap, Copyright (c) 1992-2008 Juergen Nickelsen and Jamie Zawinski.
+/* imsmap, Copyright (c) 1992-2013 Juergen Nickelsen and Jamie Zawinski.
  * Derived from code by Markus Schirmer, TU Berlin.
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
@@ -161,6 +161,9 @@ init_map (struct state *st)
 
   if (mono_p)
     st->flip_xy = 0;
+  else if (st->colors)
+    free_colors (st->xgwa.screen, st->cmap, st->colors, st->ncolors);
+  st->colors = 0;
 
   st->ncolors = get_integer_resource (st->dpy, "ncolors", "Integer");
   st->delay = get_integer_resource (st->dpy, "delay", "Integer");
@@ -183,12 +186,9 @@ init_map (struct state *st)
 
   if (!mono_p)
     {
-      if (st->colors)
-       free_colors (st->dpy, st->cmap, st->colors, st->ncolors);
-      else
-       st->colors = (XColor *) malloc (st->ncolors * sizeof(*st->colors));
+      st->colors = (XColor *) malloc (st->ncolors * sizeof(*st->colors));
 
-      make_smooth_colormap (st->dpy, st->xgwa.visual, st->cmap,
+      make_smooth_colormap (st->xgwa.screen, st->xgwa.visual, st->cmap,
                             st->colors, &st->ncolors,
                             True, 0, False);
       if (st->ncolors <= 2)
@@ -395,11 +395,15 @@ imsmap_free (Display *dpy, Window window, void *closure)
 static const char *imsmap_defaults [] = {
   ".background:        #000066",
   ".foreground:        #FF00FF",
+  "*fpsSolid:  true",
   "*mode:      random",
   "*ncolors:   50",
   "*iterations:        7",
   "*delay:     5",
   "*delay2:    20000",
+#ifdef USE_IPHONE
+  "*ignoreRotation: True",
+#endif
   0
 };
 
@@ -412,4 +416,4 @@ static XrmOptionDescRec imsmap_options [] = {
   { 0, 0, 0, 0 }
 };
 
-XSCREENSAVER_MODULE ("IMSMAP", imsmap)
+XSCREENSAVER_MODULE ("IMSMap", imsmap)