OSDN Git Service

fix regression since 0f720fe9d2c8e8e9816fa3fa22fecd85e30addb7
authorIvailo Monev <xakepa10@gmail.com>
Fri, 17 Sep 2021 15:55:21 +0000 (18:55 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Fri, 17 Sep 2021 15:55:21 +0000 (18:55 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/painting/qpainterpath.cpp
src/gui/painting/qpathclipper.cpp
src/gui/qguicommon_p.h

index 754a1ed..be5a04f 100644 (file)
@@ -38,6 +38,7 @@
 #include "qpathclipper_p.h"
 #include "qstroker_p.h"
 #include "qtextengine_p.h"
+#include "qguicommon_p.h"
 
 #include <limits.h>
 
@@ -2173,8 +2174,6 @@ bool QPainterPath::operator==(const QPainterPath &path) const
     else if (d->elements.size() != path.d_func()->elements.size())
         return false;
 
-    static const qreal qt_epsilon = std::numeric_limits<qreal>::epsilon();;
-
     QSizeF epsilon = boundingRect().size();
     epsilon.rwidth() *= qt_epsilon;
     epsilon.rheight() *= qt_epsilon;
index 9e00d5a..d7d7b94 100644 (file)
 ****************************************************************************/
 
 #include "qpathclipper_p.h"
-
 #include "qbezier_p.h"
 #include "qmath.h"
 #include "qnumeric.h"
 #include "qdebug.h"
+#include "qguicommon_p.h"
 
 /**
   The algorithm is as follows:
@@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE
 
 static inline bool fuzzyIsNull(qreal d)
 {
-    return qAbs(d) <= std::numeric_limits<qreal>::epsilon();
+    return qAbs(d) <= qt_epsilon;
 }
 
 static inline bool comparePoints(const QPointF &a, const QPointF &b)
index f2cdae6..defee8b 100644 (file)
@@ -9,6 +9,12 @@
 
 QT_BEGIN_NAMESPACE
 
+#ifdef QT_NO_FPU
+static const qreal qt_epsilon = qreal(1e-12);
+#else
+static const qreal qt_epsilon = qreal(1e-5);
+#endif
+
 // same as QColor(Qt::color0).rgba() and QColor(Qt::white).rgba()
 static const QRgb qt_whitergba = qRgba(255, 255, 255, 255);
 // same as QColor(Qt::color0).rgb() and QColor(Qt::white).rgb()