diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2010-04-08 11:50:46 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2010-04-08 12:22:48 (GMT) |
commit | bf195e57ff96c326fa26c6b3a4f64e26d18fd9bd (patch) | |
tree | 32490d70c21ffa8e932e9f17552cde9856a3a2d0 /src/gui/painting | |
parent | 75b338aaa8e3c5138718019e95271d8eed5f0c39 (diff) | |
download | Qt-bf195e57ff96c326fa26c6b3a4f64e26d18fd9bd.zip Qt-bf195e57ff96c326fa26c6b3a4f64e26d18fd9bd.tar.gz Qt-bf195e57ff96c326fa26c6b3a4f64e26d18fd9bd.tar.bz2 |
Fixed bug in QPainterPath::intersected().
When we compute the angle delta we can't use qFuzzyCompare as it will
cause slightly negative deltas to be snapped to 0, causing the winged
edge builder to put path edges in the wrong order.
Task-number: QTBUG-3778
Reviewed-by: Trond
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qpathclipper.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index 949a820..00e74ba 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -935,10 +935,9 @@ qreal QWingedEdge::delta(int vertex, int a, int b) const qreal result = b_angle - a_angle; - if (qFuzzyIsNull(result) || qFuzzyCompare(result, 128)) - return 0; - - if (result < 0) + if (result >= 128.) + return result - 128.; + else if (result < 0) return result + 128.; else return result; |