Avoid crash when start time can not be parsed

This commit is contained in:
Martchus 2021-04-07 19:42:07 +02:00
parent 31ad8b979c
commit a5f629d710
2 changed files with 6 additions and 2 deletions

View File

@ -753,7 +753,7 @@ inline CppUtilities::DateTime SyncthingConnection::startTime() const
*/
inline CppUtilities::TimeSpan SyncthingConnection::uptime() const
{
return CppUtilities::DateTime::gmtNow() - m_startTime;
return m_startTime.isNull() ? CppUtilities::TimeSpan() : CppUtilities::DateTime::gmtNow() - m_startTime;
}
/*!

View File

@ -678,7 +678,11 @@ void SyncthingConnection::readStatus()
const auto replyObj(replyDoc.object());
emitMyIdChanged(replyObj.value(QLatin1String("myID")).toString());
m_startTime = DateTime::fromIsoStringGmt(replyObj.value(QLatin1String("startTime")).toString().toLocal8Bit().data());
try {
m_startTime = DateTime::fromIsoStringGmt(replyObj.value(QLatin1String("startTime")).toString().toLocal8Bit().data());
} catch (const ConversionException &) {
m_startTime = DateTime(); // tracking the start time isn't very important so just ignore
}
m_hasStatus = true;
if (m_keepPolling) {