diff options
Diffstat (limited to 'basegfx/source/polygon/b2dpolygontools.cxx')
-rw-r--r-- | basegfx/source/polygon/b2dpolygontools.cxx | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/basegfx/source/polygon/b2dpolygontools.cxx b/basegfx/source/polygon/b2dpolygontools.cxx index 2ad4cd05b7f4..6f2542b06838 100644 --- a/basegfx/source/polygon/b2dpolygontools.cxx +++ b/basegfx/source/polygon/b2dpolygontools.cxx @@ -2186,7 +2186,9 @@ namespace basegfx const B2DVector aVectorToA(rEnd - rCandidateA); const double fCrossA(aLineVector.cross(aVectorToA)); - if(fTools::equalZero(fCrossA)) + // tdf#88352 increase numerical correctness and use rtl::math::approxEqual + // instead of fTools::equalZero which compares with a fixed small value + if(rtl::math::approxEqual(fCrossA, 0.0)) { // one point on the line return bWithLine; @@ -2195,7 +2197,8 @@ namespace basegfx const B2DVector aVectorToB(rEnd - rCandidateB); const double fCrossB(aLineVector.cross(aVectorToB)); - if(fTools::equalZero(fCrossB)) + // increase numerical correctness + if(rtl::math::approxEqual(fCrossB, 0.0)) { // one point on the line return bWithLine; |