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