diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-05-15 21:18:04 +0200 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2018-05-18 10:57:56 +0000 |
commit | e806810524ec64f8d0e9fc0dc270b43af0cd287f (patch) | |
tree | 008834045491399df0225fff82b7f3d5b45958b7 /src/positioning | |
parent | c91bfe1d1d4fcb29a1f44d32235f82e4ec4a3ccd (diff) | |
download | qtlocation-e806810524ec64f8d0e9fc0dc270b43af0cd287f.tar.gz |
QNmeaPositionInfoSource: improve timestamp comparison
Do not use date but only time, if one or both timestamps do not have a
valid date.
Task-number: QTBUG-64699
Change-Id: I0b8827c84c88df257e45204c11bf9d21e8055c4b
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/positioning')
-rw-r--r-- | src/positioning/qnmeapositioninfosource.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/positioning/qnmeapositioninfosource.cpp b/src/positioning/qnmeapositioninfosource.cpp index 282f30b4..27711323 100644 --- a/src/positioning/qnmeapositioninfosource.cpp +++ b/src/positioning/qnmeapositioninfosource.cpp @@ -243,7 +243,10 @@ static int processSentence(QGeoPositionInfo &info, // the sentences containing the full timestamp (e.g., GPRMC) *first* ! if (infoTime.isValid()) { if (pos.timestamp().time().isValid()) { - if (infoTime != pos.timestamp().time() || infoDate != pos.timestamp().date()) { + if (infoTime != pos.timestamp().time() || + (infoDate.isValid() // if time is valid but one date or both are not, match only on time + && pos.timestamp().date().isValid() + && infoDate != pos.timestamp().date())) { // Effectively read data for different update, so copy buf into m_nextLine m_nextLine = QByteArray(buf, size); break; |