summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Blasche <alexander.blasche@digia.com>2014-08-12 11:05:01 +0200
committerAlex Blasche <alexander.blasche@digia.com>2014-08-15 10:15:36 +0200
commit6e39a7901091213ec93074d00a8c5aa1ba33d8a6 (patch)
tree82a2d49d22200381c43aa7875fc4771235148f89
parenta36d9e67e3b8168cb4d1eb76eda96ebb8242fd20 (diff)
downloadqtlocation-5.3.2.tar.gz
OSX: Fix QGeoPositionInfo attribute values with corelocation plug-inv5.3.25.3.2
Fix corelocation plugin to return "nan" values for the QGeoPositionInfo attributes which aren't available. Task-number: QTBUG-38300 Change-Id: Id4c6eb69ef65fccfd7de32ec476d3afa3c4bbf98 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com> Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com> Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
-rw-r--r--src/plugins/position/corelocation/qgeopositioninfosource_cl.mm12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm b/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
index 65848f7d..8ebe7018 100644
--- a/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
+++ b/src/plugins/position/corelocation/qgeopositioninfosource_cl.mm
@@ -78,10 +78,14 @@
newLocation.coordinate.longitude,
newLocation.altitude),
timeStamp);
- location.setAttribute(QGeoPositionInfo::HorizontalAccuracy, newLocation.horizontalAccuracy);
- location.setAttribute(QGeoPositionInfo::VerticalAccuracy, newLocation.verticalAccuracy);
- location.setAttribute(QGeoPositionInfo::Direction, newLocation.course);
- location.setAttribute(QGeoPositionInfo::GroundSpeed, newLocation.speed);
+ if (newLocation.horizontalAccuracy >= 0)
+ location.setAttribute(QGeoPositionInfo::HorizontalAccuracy, newLocation.horizontalAccuracy);
+ if (newLocation.verticalAccuracy >= 0)
+ location.setAttribute(QGeoPositionInfo::VerticalAccuracy, newLocation.verticalAccuracy);
+ if (newLocation.course >= 0)
+ location.setAttribute(QGeoPositionInfo::Direction, newLocation.course);
+ if (newLocation.speed >= 0)
+ location.setAttribute(QGeoPositionInfo::GroundSpeed, newLocation.speed);
m_positionInfoSource->locationDataAvailable(location);
}