-/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 1999
+/* xscreensaver, Copyright (c) 1992, 1995, 1997, 1998, 1999, 2003
* Jamie Zawinski <jwz@jwz.org>
*
* reaction/diffusion textures
if (!(frame%epoch_time)) {
int s;
if (0 != frame) {
- int t = epoch_time / 500;
- if (t > 15)
- t = 15;
- sleep(t);
+ int tt = epoch_time / 500;
+ if (tt > 15)
+ tt = 15;
+ sleep(tt);
}
for (i = 0; i < npix; i++) {
int ii = i + 1;
char *q = pix_buf + width * i;
short *qq = ((short *) pix_buf) + width * i;
- long *qqq = ((long *) pix_buf) + width * i;
+/* long *qqq = ((long *) pix_buf) + width * i; -- crashes on Alpha */
+ int *qqq = ((int *) pix_buf) + width * i;
ushort *i1 = r1 + 1 + w2 * ii;
ushort *i2 = r2 + 1 + w2 * ii;
ushort *o1 = r1b + 1 + w2 * ii;
double array_x, array_y;
double array_dx, array_dy;
int w2;
- char *p;
+ char *pd;
int vdepth;
int npix;
#ifdef HAVE_XSHM_EXTENSION
depth 24 directly (or even better, arbitrary depths, but that
would mean going through the XImage routines instead of messing
with the XImage->data directly.)
+
+ jwz, 18-Mar-99: well, the X servers I have access to these days do
+ support 32-deep images on deep visuals, so I no longer have the
+ ability to test this code -- but it was causing problems on the
+ visuals that I do have, and I think that's because I mistakenly
+ wrote `pfv[i].depth' when I meant to write `pfv[i].bits_per_pixel'.
+ The symptom I was seeing was that the grid was 64x64, but the
+ images were being drawn 32x32 -- so there was a black stripe on
+ every other row. Wow, this code sucks so much.
*/
if (pdepth == 32)
{
Bool ok = False;
XPixmapFormatValues *pfv = XListPixmapFormats (dpy, &pfvc);
for (i = 0; i < pfvc; i++)
- if (pfv[i].depth == pdepth)
+ if (pfv[i].bits_per_pixel == pdepth)
ok = True;
if (!ok)
pdepth = 16;
}
}
- p = malloc(npix * (pdepth == 1 ? 1 : (pdepth / 8)));
- if (!p) {
+ pd = malloc(npix * (pdepth == 1 ? 1 : (pdepth / 8)));
+ if (!pd) {
fprintf(stderr, "not enough memory for %d pixels.\n", npix);
exit(1);
}
use_shm = False;
else
{
- free(p);
- p = image->data;
+ free(pd);
+ pd = image->data;
}
}
#endif /* HAVE_XSHM_EXTENSION */
if (!image)
{
image = XCreateImage(dpy, xgwa.visual, vdepth,
- ZPixmap, 0, p,
+ ZPixmap, 0, pd,
width, height, 8, 0);
}
Bool bump = False;
int i, j;
- pixack_frame(p);
+ pixack_frame(pd);
for (i = 0; i < array_width; i += width)
for (j = 0; j < array_height; j += height)
#ifdef HAVE_XSHM_EXTENSION