From http://www.jwz.org/xscreensaver/xscreensaver-5.30.tar.gz
[xscreensaver] / hacks / xmatrix.c
index 4ae544547e49a7fc1133fdc0ad4bb43ef90c9ebc..85ed51e72cf5f438c9e4ec24a05a3e0820cbb967 100644 (file)
@@ -1,4 +1,4 @@
-/* xscreensaver, Copyright (c) 1999-2013 Jamie Zawinski <jwz@jwz.org>
+/* xscreensaver, Copyright (c) 1999-2014 Jamie Zawinski <jwz@jwz.org>
  *
  * Permission to use, copy, modify, distribute, and sell this software and its
  * documentation for any purpose is hereby granted without fee, provided that
@@ -1343,7 +1343,7 @@ hack_text (m_state *state)
 
     AGAIN:
       c  = ((unsigned char *) state->typing)[0];
-      c1 = ((unsigned char *) state->typing)[1];
+      c1 = c ? ((unsigned char *) state->typing)[1] : 0;
 
       state->typing_delay = (!c || c1 == '\n'
                              ? state->typing_line_delay
@@ -1711,7 +1711,8 @@ xmatrix_reshape (Display *dpy, Window window, void *closure,
                         state->xgwa.width,
                         state->xgwa.height,
                         state->grid_width  - 2,
-                        state->grid_height - 1);
+                        state->grid_height - 1,
+                        0);
 }
 
 static Bool
@@ -1781,10 +1782,16 @@ xmatrix_event (Display *dpy, Window window, void *closure, XEvent *event)
          return True;
 
        default:
-         return False;
+         break;
        }
    }
 
+ if (screenhack_event_helper (dpy, window, event))
+   {
+     set_mode (state, DRAIN_MATRIX);
+     return True;
+   }
+
   return False;
 }
 
@@ -1818,7 +1825,7 @@ static const char *xmatrix_defaults [] = {
   "*usePipe:              False",
   "*usePty:                False",
   "*program:              xscreensaver-text",
-  "*geometry:             800x600",
+  "*geometry:             960x720",
   0
 };