X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=hacks%2Fvermiculate.c;h=ca28c6bbfb7f2cbd542bd29e57c043e517f0be5d;hb=aa75c7476aeaa84cf3abc192b376a8b03c325213;hp=c6069e42525b7bbe85fea156fe21948b599c08d6;hpb=f0261d8acab611f3433160e4f07367b870439739;p=xscreensaver diff --git a/hacks/vermiculate.c b/hacks/vermiculate.c index c6069e42..ca28c6bb 100644 --- a/hacks/vermiculate.c +++ b/hacks/vermiculate.c @@ -209,9 +209,8 @@ static void randpal (struct state *st) { int ncolors = tailmax - 1; - make_random_colormap (st->dpy, - st->xgwa.visual, - st->mycmap, &st->mycolors[1], &ncolors, True, True, 0, True); + make_random_colormap (st->xgwa.screen, st->xgwa.visual, st->mycmap, + &st->mycolors[1], &ncolors, True, True, 0, True); if (ncolors < tailmax - 1) { int c; @@ -264,7 +263,7 @@ bordupdate (struct state *st) for (x = xmin; x <= xmax; x++) sp (st, x, ybord, st->bordcol); for (y = ymin; y <= ymax; y++) - sp (st, ybord, y, st->bordcol); + sp (st, xbord, y, st->bordcol); } } @@ -807,11 +806,22 @@ static void vermiculate_reshape (Display *dpy, Window window, void *closure, unsigned int w, unsigned int h) { + struct state *st = (struct state *) closure; + st->wid = w; + st->hei = h; + free (st->point); + st->point = (unsigned char *) calloc (1, st->wid * st->hei); } static Bool vermiculate_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; } @@ -878,8 +888,9 @@ consume_instring(struct state *st) block in which it's invoked, since it declares variables: */ #define forallinbank(LDP) linedata *LDP; int bankc; \ for (bankc = 1; \ - (LDP = &st->thread[st->bank[bankc - 1] - 1], \ - bankc <= st->bnkt); bankc++) + ((bankc <= st->bnkt) ? ( \ + (LDP = &st->thread[st->bank[bankc - 1] - 1], 1) \ + ) : 0) ; bankc++) { forallinbank (L) L->slice = degs / (st->ch - '0'); } @@ -1201,6 +1212,9 @@ static const char *vermiculate_defaults[] = { "*fpsSolid: true", "*speed: 0", "*instring: ", +#ifdef HAVE_MOBILE + "*ignoreRotation: True", +#endif 0 };