From http://www.jwz.org/xscreensaver/xscreensaver-5.31.tar.gz
[xscreensaver] / hacks / abstractile.c
index 4e80d7b7b5774a24213aaa9533cf9f7e3ca9f99a..f1abbb60d20ad4cd588be049026cf205f1510e35 100644 (file)
@@ -90,7 +90,8 @@ struct state {
     /* draw, erase, fill, init, line, object, z indexes */
   unsigned int di, ei, fi, ii, bi, li, eli, oi, zi;
   /* size variables */
-  unsigned int gridx, gridy, gridn;                     /* grid size */
+  int gridx, gridy;                     /* grid size */
+  unsigned int gridn;
   int lwid, bwid, swid;/* line width, background width, shadow width */
   int narray, max_wxh;
   int elwid, elpu, egridx, egridy; /* for now */
@@ -205,6 +206,7 @@ _init_zlist(struct state *st)
 
   st->gridx=st->xgwa.width/st->lwid;
   st->gridy=st->xgwa.height/st->lwid;
+  if ((st->gridx <= 0) || (st->gridy <= 0)) abort();
   st->gridn=st->gridx*st->gridy;
   /* clear grid */
   for (z=0; z<st->gridn; z++) {