[cairo] Fix for bug 45009
Søren Sandmann
sandmann at cs.au.dk
Wed Jan 25 12:06:01 PST 2012
Hi,
The following patch reverts 259d46168c0f2, which was a change that made
trapezoids like this one invalid:
---------------------------------------------- top
\
\ /
left right
\ /
\
---------------------------------------------- bottom
where top is stricly above the edges or bottom is strictly below.
The problem with trapezoids like that is that if the edges are close to
horizontal, then the trapezoid can very easily overflow, and there are
cases in the test suite where this happens. It is also somewhat
difficult to accurately compute a damage rectangle for them.
Unfortunately, the Bentley-Ottmann algorithm in cairo apparently does
generate such trapezoids, and ignoring them causes obvious graphical
glitches (see https://bugs.freedesktop.org/show_bug.cgi?id=45009), so
unless someone has a better idea, the patch will have to be reverted.
Comments appreciated.
Thanks,
Soren
More information about the cairo
mailing list