From http://www.jwz.org/xscreensaver/xscreensaver-5.35.tar.gz
[xscreensaver] / hacks / penrose.c
index 6910e5f393c974e831958969be5b45549b6bfb24..dd6e9929966dd9e33a1d8c2c1eeec6872d6f49f5 100644 (file)
@@ -90,7 +90,6 @@ If one of these are hit penrose will reinitialize.
                                        "*ignoreRotation: True \n" \
 
 # define refresh_penrose 0
-# define penrose_handle_event 0
 # include "xlockmore.h"                /* from the xscreensaver distribution */
 #else /* !STANDALONE */
 # include "xlock.h"            /* from the xlockmore distribution */
@@ -1122,7 +1121,7 @@ add_forced_tile(ModeInfo * mi, forced_node_c * node)
 {
        tiling_c   *tp = &tilings[MI_SCREEN(mi)];
        unsigned    side;
-       vertex_type_c vtype;
+       vertex_type_c vtype = 0;
        rule_match_c hits[MAX_TILES_PER_VERTEX * N_VERTEX_RULES];
        int         n;
 
@@ -1351,6 +1350,18 @@ release_penrose(ModeInfo * mi)
        }
 }
 
+ENTRYPOINT Bool
+penrose_handle_event (ModeInfo *mi, XEvent *event)
+{
+  if (screenhack_event_helper (MI_DISPLAY(mi), MI_WINDOW(mi), event))
+    {
+      init_penrose (mi);
+      return True;
+    }
+  return False;
+}
+
+
 XSCREENSAVER_MODULE ("Penrose", penrose)
 
 #endif /* MODE_penrose */