From e806810524ec64f8d0e9fc0dc270b43af0cd287f Mon Sep 17 00:00:00 2001 From: Paolo Angelelli Date: Tue, 15 May 2018 21:18:04 +0200 Subject: 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 --- src/positioning/qnmeapositioninfosource.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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; -- cgit v1.2.1