diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-10-21 16:01:53 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-10-22 11:46:59 +0200 |
commit | 4aa90d773139d0ac3279514faef8ba0e285ea640 (patch) | |
tree | aa7fc161359b34bd0ccec7fd61bfe764d09104cb | |
parent | eebf55a6919dff9eec4dd8529223aae6f6d0f569 (diff) | |
download | qtlocation-4aa90d773139d0ac3279514faef8ba0e285ea640.tar.gz |
Ensure that rounding errors are considered by QGeoCircle::contains
Task-number: QTBUG-41447
Change-Id: I9837fab4b7132f406f69ecbe6c0e5f383345a516
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r-- | src/positioning/qgeocircle.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/positioning/qgeocircle.cpp b/src/positioning/qgeocircle.cpp index d5a3bc60..459ce824 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; } /*! |