From 4aa90d773139d0ac3279514faef8ba0e285ea640 Mon Sep 17 00:00:00 2001
From: Alex Blasche <alexander.blasche@digia.com>
Date: Tue, 21 Oct 2014 16:01:53 +0200
Subject: [PATCH] Ensure that rounding errors are considered by
 QGeoCircle::contains

Task-number: QTBUG-41447
Change-Id: I9837fab4b7132f406f69ecbe6c0e5f383345a516
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
---
 src/positioning/qgeocircle.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/positioning/qgeocircle.cpp b/src/positioning/qgeocircle.cpp
index d5a3bc60b..459ce8240 100644
--- a/src/positioning/qgeocircle.cpp
+++ b/src/positioning/qgeocircle.cpp
@@ -204,7 +204,12 @@ bool QGeoCirclePrivate::contains(const QGeoCoordinate &coordinate) const
     if (!isValid() || !coordinate.isValid())
         return false;
 
-    return center.distanceTo(coordinate) <= radius;
+    // see QTBUG-41447 for details
+    qreal distance = center.distanceTo(coordinate);
+    if (qFuzzyCompare(distance, radius) || distance <= radius)
+        return true;
+
+    return false;
 }
 
 /*!
-- 
GitLab