summaryrefslogtreecommitdiff
path: root/basegfx/source/polygon/b2dpolygontools.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'basegfx/source/polygon/b2dpolygontools.cxx')
-rw-r--r--basegfx/source/polygon/b2dpolygontools.cxx7
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;