X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fmaze.c;h=9afe44159c2c59a5eff02d263b32ae9cb371cc44;hb=aa75c7476aeaa84cf3abc192b376a8b03c325213;hp=10704fa77f90f852440a3e3cbb6afe17b70adb51;hpb=8afc01a67be4fbf3f1cc0fce9adf01b5289a21c6;p=xscreensaver diff --git a/hacks/maze.c b/hacks/maze.c index 10704fa7..9afe4415 100644 --- a/hacks/maze.c +++ b/hacks/maze.c @@ -871,8 +871,10 @@ static int backup (struct state *st) /* back up a move */ { st->sqnum--; - st->cur_sq_x = st->move_list[st->sqnum].x; - st->cur_sq_y = st->move_list[st->sqnum].y; + if (st->sqnum >= 0) { + st->cur_sq_x = st->move_list[st->sqnum].x; + st->cur_sq_y = st->move_list[st->sqnum].y; + } return ( st->sqnum ); } @@ -1468,6 +1470,10 @@ maze_init (Display *dpy_arg, Window window_arg) XSetForeground (st->dpy, st->erase_gc, bg); XSetBackground (st->dpy, st->erase_gc, bg); +# ifdef HAVE_JWXYZ + jwxyz_XSetAntiAliasing (st->dpy, st->gc, False); +# endif + { Window r; int x, y; @@ -1612,9 +1618,8 @@ static Bool maze_event (Display *dpy, Window window, void *closure, XEvent *event) { struct state *st = (struct state *) closure; - switch (event->type) + if (event->type == ButtonPress) { - case ButtonPress: switch (event->xbutton.button) { case 2: @@ -1631,14 +1636,17 @@ maze_event (Display *dpy, Window window, void *closure, XEvent *event) st->stop = 0 ; return True; } - break; - - case Expose: + } + else if (event->type == Expose) + { st->restart = 1; - break; - - default: - break; + return False; + } + else if (screenhack_event_helper (dpy, window, event)) + { + st->restart = 1 ; + st->stop = 0 ; + return True; } return False; }