xorg-x11-server/bug-259290_trapfault.diff

82 lines
2.1 KiB
Diff

# On branch refs/heads/server-1.3-branch
# Updated but not checked in:
# (will commit)
#
# modified: fb/fbtrap.c
# modified: render/renderedge.c
#
# Changed but not updated:
# (use git-update-index to mark for commit)
#
# modified: randr/randr.c
# modified: randr/randrstr.h
# modified: randr/rrxinerama.c
#
# Untracked files:
# (use "git add" to add to commit)
#
# GL/apple/Makefile.am
# GL/glx/glxbyteorder.h
# GL/mesa/vbo/
# MakeOut
# dix/patch
# hw/xfree86/xf1bpp/maskbits.c
# hw/xfree86/xf1bpp/mfbbitblt.c
# hw/xfree86/xf1bpp/mfbbres.c
# hw/xfree86/xf1bpp/mfbbresd.c
# hw/xfree86/xf1bpp/mfbbstore.c
# hw/xfree86/xf1bpp/mfbclip.c
# hw/xfree86/xf1bpp/mfbcmap.c
# hw/xfree86/xf1bpp/mfbfillarc.c
# hw/xfree86/xf1bpp/mfbfillrct.c
# hw/xfree86/xf1bpp/mfbfillsp.c
# hw/xfree86/xf1bpp/mfbfont.c
# hw/xfree86/xf1bpp/mfbgc.c
# hw/xfree86/xf1bpp/mfbgetsp.c
# hw/xfree86/xf1bpp/mfbhrzvert.c
# hw/xfree86/xf1bpp/mfbimage.c
# hw/xfree86/xf1bpp/mfbline.c
# hw/xfree86/xf1bpp/mfbmisc.c
# hw/xfree86/xf1bpp/mfbpixmap.c
# hw/xfree86/xf1bpp/mfbpntwin.c
# hw/xfree86/xf1bpp/mfbpolypnt.c
# hw/xfree86/xf1bpp/mfbpushpxl.c
# hw/xfree86/xf1bpp/mfbscrclse.c
# hw/xfree86/xf1bpp/mfbscrinit.c
# hw/xfree86/xf1bpp/mfbsetsp.c
# hw/xfree86/xf1bpp/mfbwindow.c
# hw/xfree86/xf1bpp/mfbzerarc.c
# hw/xfree86/xorg.conf.example
# hw/xfree86/xorg.conf.example.pre
# hw/xwin/winprefslex.c
# hw/xwin/winprefsyacc.c
# hw/xwin/winprefsyacc.h
# xorg-server-1.2.99.902.tar.bz2
# xorg-server-1.2.99.902.tar.gz
diff --git a/fb/fbtrap.c b/fb/fbtrap.c
index 8639695..52fcfed 100644
--- a/fb/fbtrap.c
+++ b/fb/fbtrap.c
@@ -115,6 +115,9 @@ fbRasterizeTrapezoid (PicturePtr pPicture,
RenderEdge l, r;
xFixed t, b;
+ if (!xTrapezoidValid (trap))
+ return;
+
fbGetDrawable (pPicture->pDrawable, buf, stride, bpp, pxoff, pyoff);
width = pPicture->pDrawable->width;
diff --git a/render/renderedge.c b/render/renderedge.c
index 199ec22..c2ffabe 100644
--- a/render/renderedge.c
+++ b/render/renderedge.c
@@ -143,6 +143,7 @@ RenderEdgeInit (RenderEdge *e,
dx = x_bot - x_top;
dy = y_bot - y_top;
e->dy = dy;
+ e->dx = 0;
if (dy)
{
if (dx >= 0)