diff options
author | Dave Airlie <airlied@redhat.com> | 2007-10-03 12:00:16 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2007-10-03 12:01:42 +1000 |
commit | 1365aeff5499a051375e43a9fcbf54733ac93929 (patch) | |
tree | a31eb1adba379b368876ce3ffec9956965782973 /exa/exa_accel.c | |
parent | 566dd3b7d789ba60d0adf33b3f729cfb02ff33cd (diff) |
exa: direct access to the pixmap sys ptr is bad if the pixmap isn't mapped
Diffstat (limited to 'exa/exa_accel.c')
-rw-r--r-- | exa/exa_accel.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c index abe5c204f..e10bf5cf2 100644 --- a/exa/exa_accel.c +++ b/exa/exa_accel.c @@ -1138,17 +1138,19 @@ exaFillRegionSolid (DrawablePtr pDrawable, pDrawable->bitsPerPixel != 24) { ExaPixmapPriv(pPixmap); + exaPrepareAccess(pDrawable, EXA_PREPARE_DEST); switch (pDrawable->bitsPerPixel) { case 32: - *(CARD32*)pExaPixmap->sys_ptr = pixel; + *(CARD32*)pPixmap->devPrivate.ptr = pixel; break; case 16: - *(CARD16*)pExaPixmap->sys_ptr = pixel; + *(CARD16*)pPixmap->devPrivate.ptr = pixel; break; case 8: - *(CARD8*)pExaPixmap->sys_ptr = pixel; + *(CARD8*)pPixmap->devPrivate.ptr = pixel; } + exaFinishAccess(pDrawable, EXA_PREPARE_DEST); REGION_UNION(pScreen, &pExaPixmap->validSys, &pExaPixmap->validSys, pRegion); } |