From 6b2e48a2f9d661c52ff4011fb4f0c334a9e04636 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Oct 06 2008 01:49:31 +0000 Subject: * Mon Oct 06 2008 Dave Airlie 1.5.1-5 - xserver-1.5.1-exa-fix-glyph-segfault.patch - fix EXA rects crash (462447) --- diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index c8884af..8ef5001 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -19,7 +19,7 @@ Summary: X.Org X11 X server Name: xorg-x11-server Version: 1.5.1 -Release: 4%{?dist} +Release: 5%{?dist} URL: http://www.x.org License: MIT Group: User Interface/X @@ -509,6 +509,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Oct 06 2008 Dave Airlie 1.5.1-5 +- xserver-1.5.1-exa-fix-glyph-segfault.patch - fix EXA rects crash (462447) + * Tue Sep 30 2008 Tom "spot" Callaway 1.5.1-4 - fix typo. :P diff --git a/xserver-1.5.1-exa-fix-glyph-segfault.patch b/xserver-1.5.1-exa-fix-glyph-segfault.patch new file mode 100644 index 0000000..5f393b5 --- /dev/null +++ b/xserver-1.5.1-exa-fix-glyph-segfault.patch @@ -0,0 +1,37 @@ +From 5ab230373909541945d373252a3f244b68a6f7af Mon Sep 17 00:00:00 2001 +From: Fedora X Ninjas +Date: Mon, 6 Oct 2008 11:43:05 +1000 +Subject: [PATCH] exa: fix case where glyphs get flushed on last loop of previous cycle. + +we segfault here in exaCompositeRects as we have no source as already +flushed just before the loop finished. +--- + exa/exa_glyphs.c | 12 +++++++----- + 1 files changed, 7 insertions(+), 5 deletions(-) + +diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c +index b23e7f6..2efc42d 100644 +--- a/exa/exa_glyphs.c ++++ b/exa/exa_glyphs.c +@@ -872,11 +872,13 @@ exaGlyphs (CARD8 op, + list++; + } + +- if (maskFormat) +- exaGlyphsToMask(pMask, &buffer); +- else +- exaGlyphsToDst(op, pSrc, pDst, &buffer, +- xSrc, ySrc, xDst, yDst); ++ if (buffer.count && buffer.source) { ++ if (maskFormat) ++ exaGlyphsToMask(pMask, &buffer); ++ else ++ exaGlyphsToDst(op, pSrc, pDst, &buffer, ++ xSrc, ySrc, xDst, yDst); ++ } + + if (maskFormat) + { +-- +1.5.5.1 +