diff --git a/exa/exa.c b/exa/exa.c index 8adf8473c..a4e294a71 100644 --- a/exa/exa.c +++ b/exa/exa.c @@ -421,7 +421,8 @@ exaFinishAccess(DrawablePtr pDrawable, int index) /* We always hide the devPrivate.ptr. */ pPixmap->devPrivate.ptr = NULL; - if (!pExaScr->info->FinishAccess || !exaPixmapHasGpuCopy(pPixmap)) + /* Only call FinishAccess if PrepareAccess was called and succeeded. */ + if (!pExaScr->info->FinishAccess || !pExaScr->access[i].retval) return; if (i >= EXA_PREPARE_AUX_DEST &&