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.
This commit is contained in:
Eric Anholt 2006-03-10 21:32:34 +00:00
parent ffdbb547be
commit 5b1a7b478f
2 changed files with 11 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2006-03-10 Eric Anholt <anholt@FreeBSD.org>
* exa/exa.c: (exaPrepareAccess), (exaFinishAccess):
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.
2006-03-10 Eric Anholt <anholt@FreeBSD.org>
* hw/xfree86/vbe/vbe.c: (vbeProbeDDC):

View File

@ -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;