Priority: P4: Low
Affects Version/s: 4.7.0, 4.7.2, 4.8.0
Fix Version/s: None
Component/s: GUI: Painting
Bisected on Linux/X11, first seen on OSX.
The "fix" for
QTBUG-8035 was to essentially remove bezier-bezier intersection and convert them into polylines prior to intersecting.
This was to fix a bug that had a workaround attached.
But the patch broke more fundamental behaviour: that
QPainterPath p1, p2;
p.setPen( Qt::NoPen );
p.drawPath( p1 );
p.drawPath( p2 );
produced the same on-screen result as
p.drawPath( p1|p2 );
Attached test program has been used to bisect this.
It works in 4.6.3, and starts failing with the
IMO, the correct solution would be to document the numerical instability and it's workaround
(adding random noise to points) until the instability can be addressed properly,
than to introduce a regression that cannot be worked around.