diff --git a/src/libs/vgeometry/vellipticalarc.cpp b/src/libs/vgeometry/vellipticalarc.cpp index 9a3e8a946..0f1485b79 100644 --- a/src/libs/vgeometry/vellipticalarc.cpp +++ b/src/libs/vgeometry/vellipticalarc.cpp @@ -198,12 +198,12 @@ QPointF VEllipticalArc::GetPoint (qreal angle) const { y = -y; } - else if (angle == 90) + else if (qFuzzyCompare(angle, 90)) { x = 0; y = d->radius2; } - else if (angle == 270) + else if (qFuzzyCompare(angle, 270)) { x = 0; y = -d->radius2; diff --git a/src/libs/vgeometry/vellipticalarc_p.h b/src/libs/vgeometry/vellipticalarc_p.h index d1515ece0..03e2fc6fe 100644 --- a/src/libs/vgeometry/vellipticalarc_p.h +++ b/src/libs/vgeometry/vellipticalarc_p.h @@ -5,6 +5,11 @@ #include "../vmisc/vabstractapplication.h" #include "vpointf.h" +#ifdef Q_CC_GNU + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Weffc++" +#endif + class VEllipticalArcData : public QSharedData { public: @@ -86,5 +91,9 @@ private: VEllipticalArcData::~VEllipticalArcData() {} +#ifdef Q_CC_GNU +#pragma GCC diagnostic pop +#endif + #endif // VELLIPTICALARC_P diff --git a/src/test/ValentinaTest/tst_vellipticalarc.cpp b/src/test/ValentinaTest/tst_vellipticalarc.cpp index 84fb24133..810cb7562 100644 --- a/src/test/ValentinaTest/tst_vellipticalarc.cpp +++ b/src/test/ValentinaTest/tst_vellipticalarc.cpp @@ -29,6 +29,7 @@ #include "tst_vellipticalarc.h" #include "../vgeometry/vellipticalarc.h" #include "../vlayout/vabstractdetail.h" +#include "../vmisc/logging.h" #include @@ -232,9 +233,9 @@ void TST_VEllipticalArc::TestGetPoints1() VEllipticalArc arc(center, radius1, radius2, startAngle, endAngle, rotationAngle); QVector points = arc.GetPoints(); - if (rotationAngle == 0.0) + if (qFuzzyIsNull(rotationAngle)) { // equation of ellipse will be different when rotation angle isn't 0 so we can't use this test in this case - qreal eps = 0.05; + const qreal eps = 0.05; for (int i=0; i < points.size(); ++i) {