[PATCH] Don't call CompositePicture() for empty glyphs.

Matthias Hopf mhopf at suse.de
Wed Mar 24 06:38:36 PDT 2010


Fixes Novell bug 568811:
  VNC Installation aborts right in the middle due to an assertion in Xvnc/libpixman

Signed-off-by: Matthias Hopf <mhopf at suse.de>
---
 exa/exa_glyphs.c |    3 +++
 render/glyph.c   |    2 +-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c
index fd14e9b..f647854 100644
--- a/exa/exa_glyphs.c
+++ b/exa/exa_glyphs.c
@@ -374,6 +374,9 @@ exaGlyphCacheUploadGlyph(ScreenPtr         pScreen,
     ExaPixmapPriv(pGlyphPixmap);
     PixmapPtr pCachePixmap = (PixmapPtr)cache->picture->pDrawable;
 
+    if (! pGlyph->info.width || ! pGlyph->info.height)
+	return;
+
     if (!pExaScr->info->UploadToScreen || pExaScr->swappedOut || pExaPixmap->accel_blocked)
 	goto composite;
 
diff --git a/render/glyph.c b/render/glyph.c
index 0b864ad..66fef09 100644
--- a/render/glyph.c
+++ b/render/glyph.c
@@ -705,7 +705,7 @@ miGlyphs (CARD8		op,
 	    glyph = *glyphs++;
 	    pPicture = GlyphPicture (glyph)[pScreen->myNum];
 
-	    if (pPicture)
+	    if (pPicture && glyph->info.width && glyph->info.height)
 	    {
 		if (maskFormat)
 		{
-- 
1.6.0.2


--vkogqOf2sHV7VnPd--


More information about the xorg-devel mailing list