From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / squiral.c
index 2a0b0fd29bb61016afe8abe1ed8dddb8925c8f38..57afa54a5d78835eee0441ec68f0e6775341b4c9 100644 (file)
@@ -156,7 +156,7 @@ squiral_init (Display *dpy, Window window)
     st->erase_gc = XCreateGC (st->dpy, st->window, GCForeground, &gcv);
     cmap = xgwa.colormap;
     if( st->ncolors ) {
-        free_colors(st->dpy, cmap, st->colors, st->ncolors);
+        free_colors(xgwa.screen, cmap, st->colors, st->ncolors);
         st->ncolors = 0;
     }
     if( mono_p ) {
@@ -166,7 +166,8 @@ squiral_init (Display *dpy, Window window)
       st->ncolors = get_integer_resource(st->dpy, "ncolors", "Integer");
       if (st->ncolors < 0 || st->ncolors > NCOLORSMAX)
         st->ncolors = NCOLORSMAX;
-      make_uniform_colormap(st->dpy, xgwa.visual, cmap, st->colors, &st->ncolors, True,
+      make_uniform_colormap(xgwa.screen, xgwa.visual, cmap,
+                            st->colors, &st->ncolors, True,
          &writeable, False);
       if (st->ncolors <= 0) {
         st->ncolors = 1;
@@ -238,6 +239,13 @@ squiral_reshape (Display *dpy, Window window, void *closure,
 static Bool
 squiral_event (Display *dpy, Window window, void *closure, XEvent *event)
 {
+  struct state *st = (struct state *) closure;
+  if (screenhack_event_helper (dpy, window, event))
+    {
+      squiral_init_1 (st);
+      XClearWindow (dpy, window);
+      return True;
+    }
   return False;
 }
 
@@ -260,6 +268,9 @@ static const char *squiral_defaults[] = {
   "*disorder:   0.005",
   "*cycle:      False",
   "*handedness: 0.5",
+#ifdef USE_IPHONE
+  "*ignoreRotation: True",
+#endif
   0
 };