diff options
author | Eric Anholt <anholt@freebsd.org> | 2006-03-10 21:32:34 +0000 |
---|---|---|
committer | Eric Anholt <anholt@freebsd.org> | 2006-03-10 21:32:34 +0000 |
commit | 5b1a7b478f072f56e836f2d4c0fbc1985842e2bb (patch) | |
tree | efa1e7d2fdfc7dcb3da1f32b5c68ba82f016e9d1 /exa | |
parent | ffdbb547becc71f1cfdd035d0d6c71539f185fb1 (diff) |
Move the exaDrawableDirty in exaPrepareAccess to exaFinishAccess, which is
after the drawing is done. Previously, a failed PrepareAccess could
have migrated and cleared the dirty flag before the damage was ever
done.
Diffstat (limited to 'exa')
-rw-r--r-- | exa/exa.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -230,8 +230,6 @@ exaPrepareAccess(DrawablePtr pDrawable, int index) pPixmap = exaGetDrawablePixmap (pDrawable); - if (index == EXA_PREPARE_DEST) - exaDrawableDirty (pDrawable); if (exaPixmapIsOffscreen (pPixmap)) exaWaitSync (pDrawable->pScreen); else @@ -255,6 +253,9 @@ exaFinishAccess(DrawablePtr pDrawable, int index) ExaScreenPriv (pScreen); PixmapPtr pPixmap; + if (index == EXA_PREPARE_DEST) + exaDrawableDirty (pDrawable); + if (pExaScr->info->FinishAccess == NULL) return; |