From e1273d87f930825dc1e894786ee143f9e378d864 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Tue, 28 Jun 2016 09:36:50 +0300 Subject: [PATCH] GCC warnings. (grafted from 5853578c984bef1a0c33c5776334a726a57b1134) --HG-- branch : release --- src/libs/vmisc/def.h | 17 +++++++++++++++++ .../toollinepoint/vtoollineintersectaxis.cpp | 3 ++- .../toolpoint/toolsinglepoint/vtooltriangle.cpp | 3 ++- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/libs/vmisc/def.h b/src/libs/vmisc/def.h index dd0723c3b..149644d9b 100644 --- a/src/libs/vmisc/def.h +++ b/src/libs/vmisc/def.h @@ -602,4 +602,21 @@ QSharedPointer DefaultPrinter(QPrinter::PrinterMode mode = QPrinter::S QPixmap darkenPixmap(const QPixmap &pixmap) Q_REQUIRED_RESULT; +static inline bool VFuzzyComparePossibleNulls(double p1, double p2) Q_REQUIRED_RESULT; +static inline bool VFuzzyComparePossibleNulls(double p1, double p2) +{ + if(qFuzzyIsNull(p1)) + { + return qFuzzyIsNull(p2); + } + else if(qFuzzyIsNull(p2)) + { + return false; + } + else + { + return qFuzzyCompare(p1, p2); + } +} + #endif // DEF_H diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.cpp b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.cpp index 4c118f026..c806737c8 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.cpp +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/toollinepoint/vtoollineintersectaxis.cpp @@ -160,7 +160,8 @@ QPointF VToolLineIntersectAxis::FindPoint(const QLineF &axis, const QLineF &line QLineF::IntersectType intersect = axis.intersect(line, &fPoint); if (intersect == QLineF::UnboundedIntersection || intersect == QLineF::BoundedIntersection) { - if(axis.angle() == line.angle() || qAbs(axis.angle() - line.angle()) == 180) + if(VFuzzyComparePossibleNulls(axis.angle(), line.angle()) + || VFuzzyComparePossibleNulls(qAbs(axis.angle() - line.angle()), 180)) { return QPointF(); } diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.cpp b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.cpp index 1dd4c853b..a6030fbfe 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.cpp +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtooltriangle.cpp @@ -186,7 +186,8 @@ QPointF VToolTriangle::FindPoint(const QPointF &axisP1, const QPointF &axisP2, c { return QPointF(); } - if (axis.angle() == hypotenuse.angle() || qAbs(axis.angle() - hypotenuse.angle()) == 180) + if (VFuzzyComparePossibleNulls(axis.angle(), hypotenuse.angle()) + || VFuzzyComparePossibleNulls(qAbs(axis.angle() - hypotenuse.angle()), 180)) { return QPointF(); }