summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorArmin Le Grand <Armin.Le.Grand@Sun.COM>2010-05-27 12:34:12 +0200
committerArmin Le Grand <Armin.Le.Grand@Sun.COM>2010-05-27 12:34:12 +0200
commit003e2a179cad743b26a4c5ca5636b1c783370631 (patch)
tree9db968caf5907cfc9679ed1c5c5408c9e8e2495d /svx
parent0a10dd5257f045a3ec7f1387c16f20d7e2b6bb48 (diff)
#i111715# corrected numerical cases for polygon clipper and geometry creator
Diffstat (limited to 'svx')
-rw-r--r--svx/source/svdraw/svdocirc.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx
index 12cdeac9ef85..4c600cba821f 100644
--- a/svx/source/svdraw/svdocirc.cxx
+++ b/svx/source/svdraw/svdocirc.cxx
@@ -239,8 +239,9 @@ basegfx::B2DPolygon SdrCircObj::ImpCalcXPolyCirc(const SdrObjKind eCicrleKind, c
else
{
// mirror start, end for geometry creation since model coordinate system is mirrored in Y
- const double fStart(((36000 - nEnd) % 36000) * F_PI18000);
- const double fEnd(((36000 - nStart) % 36000) * F_PI18000);
+ // #i111715# increase numerical correctness by first dividing and not using F_PI1800
+ const double fStart((((36000 - nEnd) % 36000) / 18000.0) * F_PI);
+ const double fEnd((((36000 - nStart) % 36000) / 18000.0) * F_PI);
// create circle segment. This is not closed by default
aCircPolygon = basegfx::tools::createPolygonFromEllipseSegment(