mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-15 00:13:28 +00:00
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:
parent
ffdbb547be
commit
5b1a7b478f
2 changed files with 11 additions and 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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue