st/xlib Fix XIMage bytes-per-pixel calculation

Fixes a crash seen while running gnome on a 16-bit screen over vnc.

NOTE: This is a candidate for stable release branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com>
This commit is contained in:
Richard Sandiford 2013-06-17 12:10:49 -04:00 committed by Adam Jackson
parent ebd68dd029
commit 876fefe2ff
1 changed files with 2 additions and 3 deletions

View File

@ -1407,9 +1407,8 @@ XMesaBindTexImage(Display *dpy, XMesaBuffer drawable, int buffer,
return; return;
} }
/* The pipe transfer has a pitch rounded up to the nearest 64 pixels. /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
We assume 32 bit pixels. */ ximage_stride = w * ((img->bits_per_pixel + 7) / 8);
ximage_stride = w * 4;
for (line = 0; line < h; line++) for (line = 0; line < h; line++)
memcpy(&map[line * tex_xfer->stride], memcpy(&map[line * tex_xfer->stride],