On Mar 24, 10 13:08:01 +0100, Matthias Hopf wrote:
> > It may be appropriate to use a "belt and braces" approach here - prevent
> > the degenerate regions from being created, *and* have the PIXREGION_NIL
> > macro handle them.

Ok, commit pushed in pixman.

The following patch for the Xserver should fix the issue as well.
Please review and commit!

Thanks

Matthias

-- 
Matthias Hopf <mh...@suse.de>      __        __   __
Maxfeldstr. 5 / 90409 Nuernberg   (_   | |  (_   |__          m...@mshopf.de
Phone +49-911-74053-715           __)  |_|  __)  |__  R & D   www.mshopf.de
>From d6601c8641901cbe21e77453718eeae74251a442 Mon Sep 17 00:00:00 2001
From: Matthias Hopf <mh...@suse.de>
Date: Wed, 24 Mar 2010 14:38:36 +0100
Subject: [PATCH] Don't call CompositePicture() for empty glyphs.

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

Signed-off-by: Matthias Hopf <mh...@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

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to