From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / cloudlife.c
index 911b99be27bd8d2c6581a5e5e59d8faed492bed8..34f47807317663d07fa143fa354e91098bddae53 100644 (file)
@@ -302,7 +302,8 @@ cloudlife_init (Display *dpy, Window window)
 
     if (st->cycle_colors) {
         st->colors = (XColor *) xrealloc(st->colors, sizeof(XColor) * (st->ncolors+1));
-        make_smooth_colormap (st->dpy, st->xgwa.visual, st->xgwa.colormap, st->colors, &st->ncolors,
+        make_smooth_colormap (st->xgwa.screen, st->xgwa.visual,
+                              st->xgwa.colormap, st->colors, &st->ncolors,
                               True, &tmp, True);
     }
 
@@ -376,6 +377,14 @@ cloudlife_reshape (Display *dpy, Window window, void *closure,
 static Bool
 cloudlife_event (Display *dpy, Window window, void *closure, XEvent *event)
 {
+  struct state *st = (struct state *) closure;
+  if (screenhack_event_helper (dpy, window, event))
+    {
+      XClearWindow (dpy, window);
+      st->cycles = 0;
+      st->field = init_field(st);
+      return True;
+    }
   return False;
 }
 
@@ -397,6 +406,9 @@ static const char *cloudlife_defaults[] = {
     "*maxAge:          64",
     "*initialDensity:  30",
     "*cellSize:                3",
+#ifdef USE_IPHONE
+    "*ignoreRotation:   True",
+#endif
     0
 };