diff options
-rw-r--r-- | exa/exa_unaccel.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index db9ce9f56..8fc93171b 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -462,9 +462,11 @@ ExaSrcValidate(DrawablePtr pDrawable, REGION_UNION(pScreen, dst, dst, ®); REGION_UNINIT(pScreen, ®); - swap(pExaScr, pScreen, SourceValidate); - pScreen->SourceValidate(pDrawable, x, y, width, height); - swap(pExaScr, pScreen, SourceValidate); + if (pExaScr->SourceValidate) { + swap(pExaScr, pScreen, SourceValidate); + pScreen->SourceValidate(pDrawable, x, y, width, height); + swap(pExaScr, pScreen, SourceValidate); + } } static Bool |