diff options
author | David Schulz <[email protected]> | 2013-11-11 14:19:00 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2013-11-11 14:49:48 +0100 |
commit | 9fd8558afb4942a1d5c31e99d505613dddf69460 (patch) | |
tree | 8dde616443b6d4d046ae0143bf1c4e6a553d3f90 /src/plugins/debugger/debuggerprotocol.cpp | |
parent | 7e869bfa7fa2483736d2f80454fb08b3e6e07161 (diff) |
Debugger: Print invalid time classes as "(invalid)"
Is used when QDate, QTime or QDateTime was encoded with the DebuggerEncoding.
Change-Id: I45726648d4379bae9230ce6997f073d4638745e3
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerprotocol.cpp')
-rw-r--r-- | src/plugins/debugger/debuggerprotocol.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/debugger/debuggerprotocol.cpp b/src/plugins/debugger/debuggerprotocol.cpp index 1e50d13c3ac..991e83324fc 100644 --- a/src/plugins/debugger/debuggerprotocol.cpp +++ b/src/plugins/debugger/debuggerprotocol.cpp @@ -600,17 +600,18 @@ QString decodeData(const QByteArray &ba, int encoding) } case JulianDate: { // 14, an integer count const QDate date = dateFromData(ba.toInt()); - return date.toString(Qt::TextDate); + return date.isValid() ? date.toString(Qt::TextDate) : QLatin1String("(invalid)"); } case MillisecondsSinceMidnight: { const QTime time = timeFromData(ba.toInt()); - return time.toString(Qt::TextDate); + return time.isValid() ? time.toString(Qt::TextDate) : QLatin1String("(invalid)"); } case JulianDateAndMillisecondsSinceMidnight: { const int p = ba.indexOf('/'); const QDate date = dateFromData(ba.left(p).toInt()); const QTime time = timeFromData(ba.mid(p + 1 ).toInt()); - return QDateTime(date, time).toString(Qt::TextDate); + const QDateTime dateTime = QDateTime(date, time); + return dateTime.isValid() ? dateTime.toString(Qt::TextDate) : QLatin1String("(invalid)"); } case IPv6AddressAndHexScopeId: { // 27, 16 hex-encoded bytes, "%" and the string-encoded scope const int p = ba.indexOf('%'); @@ -633,7 +634,7 @@ QString decodeData(const QByteArray &ba, int encoding) QDateTime d; d.setTimeSpec(Qt::UTC); d.setMSecsSinceEpoch(ms); - return d.toString(Qt::TextDate); + return d.isValid() ? d.toString(Qt::TextDate) : QLatin1String("(invalid)"); } } qDebug() << "ENCODING ERROR: " << encoding; |