From 6e39a7901091213ec93074d00a8c5aa1ba33d8a6 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Tue, 12 Aug 2014 11:05:01 +0200 Subject: OSX: Fix QGeoPositionInfo attribute values with corelocation plug-in 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 Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- .../position/corelocation/qgeopositioninfosource_cl.mm | 12 ++++++++---- 1 file 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); } -- cgit v1.2.1