X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=hacks%2Fwander.c;h=efe9b94bbb9216ef6bb6b9cf9b40a1edae0025a8;hp=881b92cc0b479c10de751670b5e0a66cf5b3d895;hb=6afd6db0ae9396cd7ff897ade597cd5483f49b0e;hpb=dba664f31aa87285db4d76cf8c5e66335299703a diff --git a/hacks/wander.c b/hacks/wander.c index 881b92cc..efe9b94b 100644 --- a/hacks/wander.c +++ b/hacks/wander.c @@ -33,6 +33,7 @@ struct state { int height; unsigned int length; unsigned int reset; + Bool reset_p; unsigned int size; int width; int delay; @@ -169,8 +170,9 @@ wander_draw (Display *dpy, Window window, void *closure) } } - if ((random () % st->reset_limit) == 0) + if (st->reset_p || (random () % st->reset_limit) == 0) { + st->reset_p = 0; st->eraser = erase_window (st->dpy, st->window, st->eraser); st->color = st->colors [random () % st->color_count].pixel; st->x = random () % st->width; @@ -221,6 +223,12 @@ wander_reshape (Display *dpy, Window window, void *closure, static Bool wander_event (Display *dpy, Window window, void *closure, XEvent *event) { + struct state *st = (struct state *) closure; + if (screenhack_event_helper (dpy, window, event)) + { + st->reset_p = 1; + return True; + } return False; }