[PATCH:xf86-video-mach64 v2] Mach64PixelARGB should use exaGetPixmapFirstPixel

Alan Coopersmith alan.coopersmith at oracle.com
Fri Dec 7 14:07:08 PST 2012


Fixes crash attempting to read a pixel from a NULL pPixmap->devPrivate.ptr

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
 src/atimach64render.c |   17 +----------------
 1 file changed, 1 insertion(+), 16 deletions(-)

Simplified version based on suggestions/review from Michel Dänzer.

diff --git a/src/atimach64render.c b/src/atimach64render.c
index 4862cd4..ffde2cb 100644
--- a/src/atimach64render.c
+++ b/src/atimach64render.c
@@ -209,22 +209,7 @@ Mach64PixelARGB(PixmapPtr pPixmap, CARD32 format, CARD32 *argb)
     CARD8  comp;
     int    bits, shift;
 
-    /* Ensure that texture drawing has completed. */
-    exaWaitSync(pPixmap->drawable.pScreen);
-
-    /* exaGetPixmapFirstPixel() */
-
-    switch (pPixmap->drawable.bitsPerPixel) {
-    case 32:
-        pixel = *(CARD32 *)(pPixmap->devPrivate.ptr);
-        break;
-    case 16:
-        pixel = *(CARD16 *)(pPixmap->devPrivate.ptr);
-        break;
-    default:
-        pixel = *(CARD8 *)(pPixmap->devPrivate.ptr);
-        break;
-    }
+    pixel = exaGetPixmapFirstPixel(pPixmap);
 
     /* exaGetRGBAFromPixel()/viaPixelARGB8888() */
 
-- 
1.7.9.2



More information about the xorg-devel mailing list