Fix ShmPutImage for XYBitmap
We can't call CopyArea in that case because the image has depth 1, which
might not match the target drawable, so we might overrun the shm
segment. Commit 11817a881c
apparently
fixed a similar bug for XYPixmap, but missed the bitmap case.
Fixes: http://bugs.debian.org/629611
Thanks to Alan Curry for diagnosing this and providing a test case.
Reported-and-tested-by: Alan Curry <pacman@kosh.dhis.org>
Reviewed-by: Peter Harris <pharris@opentext.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
parent
a551f126cc
commit
08ec4da6a7
|
@ -481,7 +481,7 @@ doShmPutImage(DrawablePtr dst, GCPtr pGC,
|
|||
{
|
||||
PixmapPtr pPixmap;
|
||||
|
||||
if (format == ZPixmap || depth == 1) {
|
||||
if (format == ZPixmap || (format == XYPixmap && depth == 1)) {
|
||||
pPixmap = GetScratchPixmapHeader(dst->pScreen, w, h, depth,
|
||||
BitsPerPixel(depth),
|
||||
PixmapBytePad(w, depth),
|
||||
|
|
Loading…
Reference in New Issue