xorg-x11-server/p_bug159532.diff

49 lines
1.6 KiB
Diff

Index: programs/Xserver/fb/fbcompose.c
===================================================================
RCS file: /work/cvsdir/cvs/xc/programs/Xserver/fb/fbcompose.c,v
retrieving revision 1.1.1.16
diff -u -r1.1.1.16 programs/Xserver/fb/fbcompose.c
--- programs/Xserver/fb/fbcompose.c 23 Jan 2006 11:13:59 -0000 1.1.1.16
+++ programs/Xserver/fb/fbcompose.c 20 Mar 2006 16:56:50 -0000
@@ -2610,6 +2610,7 @@
fetchPixelProc fetch = fetchPixelProcForPicture(pict);
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
+ if (!fetch) return;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
bits += yoff*stride + (xoff*bpp >> FB_SHIFT);
@@ -2627,6 +2628,8 @@
int bpp;
int xoff, yoff;
fetchProc fetch = fetchProcForPicture(pict);
+ if (!fetch)
+ return;
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
@@ -2871,6 +2874,7 @@
fetch = fetchPixelProcForPicture(pict);
+ if (!fetch) return;
fbGetDrawable(pict->pDrawable, bits, stride, bpp, xoff, yoff);
x += xoff;
y += yoff;
@@ -3340,6 +3344,7 @@
int bpp;
int xoff, yoff;
storeProc store = storeProcForPicture(pict);
+ if (!store) return;
miIndexedPtr indexed = (miIndexedPtr) pict->pFormat->index.devPrivate;
fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
@@ -3369,6 +3374,7 @@
store = storeProcForPicture(pict);
astore = storeProcForPicture(pict->alphaMap);
+ if (!store || !astore) return;
aindexed = (miIndexedPtr) pict->alphaMap->pFormat->index.devPrivate;
ax = x;