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