a4a7710
From 5ab230373909541945d373252a3f244b68a6f7af Mon Sep 17 00:00:00 2001
a4a7710
From: Fedora X Ninjas <x@fedoraproject.org>
a4a7710
Date: Mon, 6 Oct 2008 11:43:05 +1000
a4a7710
Subject: [PATCH] exa: fix case where glyphs get flushed on last loop of previous cycle.
a4a7710
a4a7710
we segfault here in exaCompositeRects as we have no source as already
a4a7710
flushed just before the loop finished.
a4a7710
---
a4a7710
 exa/exa_glyphs.c |   12 +++++++-----
a4a7710
 1 files changed, 7 insertions(+), 5 deletions(-)
a4a7710
a4a7710
diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c
a4a7710
index b23e7f6..2efc42d 100644
a4a7710
--- a/exa/exa_glyphs.c
a4a7710
+++ b/exa/exa_glyphs.c
a4a7710
@@ -872,11 +872,13 @@ exaGlyphs (CARD8 	 op,
a4a7710
 	list++;
a4a7710
     }
a4a7710
     
a4a7710
-    if (maskFormat)
a4a7710
-	exaGlyphsToMask(pMask, &buffer);
a4a7710
-    else
a4a7710
-	exaGlyphsToDst(op, pSrc, pDst, &buffer,
a4a7710
-		       xSrc, ySrc, xDst, yDst);
a4a7710
+    if (buffer.count && buffer.source) {
a4a7710
+        if (maskFormat)
a4a7710
+	    exaGlyphsToMask(pMask, &buffer);
a4a7710
+        else
a4a7710
+	    exaGlyphsToDst(op, pSrc, pDst, &buffer,
a4a7710
+		           xSrc, ySrc, xDst, yDst);
a4a7710
+    }
a4a7710
     
a4a7710
     if (maskFormat)
a4a7710
     {
a4a7710
-- 
a4a7710
1.5.5.1
a4a7710