From http://www.jwz.org/xscreensaver/xscreensaver-5.34.tar.gz
[xscreensaver] / hacks / rotzoomer.c
index b0c81fab157eac22adbf998eaeca8dbfb0c135c7..3ccb4668eb456cb88335d8f67630b26217fc8293 100644 (file)
@@ -325,7 +325,7 @@ init_hack (struct state *st)
 {
   int i;
 
-  st->start_time = time ((time_t) 0);
+  st->start_time = time ((time_t *) 0);
   st->zoom_box = calloc (st->num_zoom, sizeof (struct zoom_area *));
   for (i = 0; i < st->num_zoom; i++) {
     st->zoom_box[i] = create_zoom (st);
@@ -358,12 +358,12 @@ rotzoomer_draw (Display *disp, Window win, void *closure)
     }
 
   if (!st->img_loader &&
-      st->start_time + st->duration < time ((time_t) 0)) {
+      st->start_time + st->duration < time ((time_t *) 0)) {
     XWindowAttributes xgwa;
     XGetWindowAttributes(st->dpy, st->window, &xgwa);
     st->img_loader = load_image_async_simple (0, xgwa.screen, st->window,
                                               st->window, 0, 0);
-    st->start_time = time ((time_t) 0);
+    st->start_time = time ((time_t *) 0);
     return st->delay;
   }
 
@@ -486,7 +486,7 @@ rotzoomer_init (Display *dpy, Window window)
     st->sweep = 0;
   }
 
-  st->start_time = time ((time_t) 0);
+  st->start_time = time ((time_t *) 0);
 
   setup_X (st);
 
@@ -502,6 +502,12 @@ rotzoomer_reshape (Display *dpy, Window window, void *closure,
 static Bool
 rotzoomer_event (Display *dpy, Window window, void *closure, XEvent *event)
 {
+  struct state *st = (struct state *) closure;
+  if (screenhack_event_helper (dpy, window, event))
+    {
+      st->start_time = 0;
+      return True;
+    }
   return False;
 }
 
@@ -529,6 +535,7 @@ static const char *rotzoomer_defaults[] = {
   "*duration: 120",
 #ifdef USE_IPHONE
   "*ignoreRotation: True",
+  "*rotateImages:   True",
 #endif
   0
 };