diff options
author | Alex Blasche <alexander.blasche@digia.com> | 2014-08-12 11:05:01 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@digia.com> | 2014-08-15 10:15:36 +0200 |
commit | 6e39a7901091213ec93074d00a8c5aa1ba33d8a6 (patch) | |
tree | 82a2d49d22200381c43aa7875fc4771235148f89 /src | |
parent | a36d9e67e3b8168cb4d1eb76eda96ebb8242fd20 (diff) | |
download | qtlocation-6e39a7901091213ec93074d00a8c5aa1ba33d8a6.tar.gz |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/position/corelocation/qgeopositioninfosource_cl.mm | 12 |
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); } |