diff --git a/exa/exa.c b/exa/exa.c index d12344f..ba82382 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -59,7 +59,11 @@ exaGetPixmapOffset(PixmapPtr pPix) ExaScreenPriv(pPix->drawable.pScreen); ExaPixmapPriv(pPix); - return (CARD8 *) pExaPixmap->fb_ptr - pExaScr->info->memoryBase; + /* added in as a fix for 6912996 */ + if (exaPixmapHasGpuCopy(pPix) && pExaPixmap->fb_ptr) + return (CARD8 *) pExaPixmap->fb_ptr - pExaScr->info->memoryBase; + else + return (CARD8 *) pExaPixmap->sys_ptr - pExaScr->info->memoryBase; } void *