Reject trapezoids where top (botttom) is above (below) the edges
authorSøren Sandmann Pedersen <ssp@redhat.com>
Thu, 22 Dec 2011 16:37:26 +0000 (11:37 -0500)
committerSøren Sandmann Pedersen <ssp@redhat.com>
Mon, 9 Jan 2012 10:40:34 +0000 (05:40 -0500)
commit2437ae80e5066dec9fe52f56b016bf136d7cea06
treeeb8d7f44d85c7ecdc22ad4cc7fd4e38778dd1141
parent6a8192b6dd88b833bb918de28331d3a85c84a4f7
Reject trapezoids where top (botttom) is above (below) the edges

When a trapezoid has a top/bottom that is above/below the left/right
edges, degenerate trapezoids become possible. For example the edge
could be very short and close to horizontal. If the bottom edge is far
below the bottom point of such a short edge, the result is that the
lower right corner of the trapezoid will be extremely far to the left.

This kind of trapezoid causes overflows in the rasterization code, so
change pixman_trapezoid_valid() to reject them.
pixman/pixman.h
test/composite-traps-test.c