TagReader: Check for valid file times

Fixes #815
This commit is contained in:
Jonas Kvinge
2021-10-30 17:57:13 +02:00
parent c6c53548ac
commit 3d0b6e6ea1
2 changed files with 9 additions and 9 deletions

View File

@@ -106,11 +106,11 @@ void TagReaderTagParser::ReadFile(const QString &filename, spb::tagreader::SongM
song->set_basefilename(DataCommaSizeFromQString(fileinfo.fileName()));
song->set_url(url.constData(), url.size());
song->set_filesize(fileinfo.size());
song->set_mtime(fileinfo.lastModified().toSecsSinceEpoch());
song->set_mtime(fileinfo.lastModified().isValid() ? fileinfo.lastModified().toSecsSinceEpoch() : 0);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
song->set_ctime(fileinfo.birthTime().isValid() ? fileinfo.birthTime().toSecsSinceEpoch() : fileinfo.lastModified().toSecsSinceEpoch());
song->set_ctime(fileinfo.birthTime().isValid() ? fileinfo.birthTime().toSecsSinceEpoch() : fileinfo.lastModified().isValid() ? fileinfo.lastModified().toSecsSinceEpoch() : 0);
#else
song->set_ctime(fileinfo.created().toSecsSinceEpoch());
song->set_ctime(fileinfo.created().isValid() ? fileinfo.created().toSecsSinceEpoch() : fileinfo.lastModified().isValid() ? fileinfo.lastModified().toSecsSinceEpoch() : 0);
#endif
song->set_lastseen(QDateTime::currentDateTime().toSecsSinceEpoch());