6906694.patch revision 1088
diff -Nurp -x '*~' -x '*.orig' exa/exa_render.c exa/exa_render.c
--- exa/exa_render.c 2010-06-06 10:53:51.000000000 -0700
+++ exa/exa_render.c 2010-09-03 16:45:42.134444609 -0700
@@ -902,8 +902,9 @@ exaComposite(CARD8 op,
Bool saveMaskRepeat = pMask ? pMask->repeat : 0;
RegionRec region;
- if (pExaScr->swappedOut)
- goto fallback;
+ if (pExaScr->swappedOut || pSrc->pDrawable == NULL ||
+ (pMask != NULL && pMask->pDrawable == NULL))
+ goto fallback;
/* Remove repeat in source if useless */
if (pSrc->pDrawable && pSrc->repeat && !pSrc->transform && xSrc >= 0 &&