diff --git a/ext/libstrawberry-tagreader/tagreadertaglib.cpp b/ext/libstrawberry-tagreader/tagreadertaglib.cpp index c8ebb2ff1..be58542cc 100644 --- a/ext/libstrawberry-tagreader/tagreadertaglib.cpp +++ b/ext/libstrawberry-tagreader/tagreadertaglib.cpp @@ -187,18 +187,18 @@ spb::tagreader::SongMetadata_FileType TagReaderTagLib::GuessFileType(TagLib::Fil void TagReaderTagLib::ReadFile(const QString &filename, spb::tagreader::SongMetadata *song) const { const QByteArray url(QUrl::fromLocalFile(filename).toEncoded()); - const QFileInfo info(filename); + const QFileInfo fileinfo(filename); qLog(Debug) << "Reading tags from" << filename; - song->set_basefilename(DataCommaSizeFromQString(info.fileName())); + song->set_basefilename(DataCommaSizeFromQString(fileinfo.fileName())); song->set_url(url.constData(), url.size()); - song->set_filesize(info.size()); - song->set_mtime(info.lastModified().toSecsSinceEpoch()); + song->set_filesize(fileinfo.size()); + song->set_mtime(fileinfo.lastModified().isValid() ? fileinfo.lastModified().toSecsSinceEpoch() : 0); #if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) - song->set_ctime(info.birthTime().isValid() ? info.birthTime().toSecsSinceEpoch() : info.lastModified().toSecsSinceEpoch()); + song->set_ctime(fileinfo.birthTime().isValid() ? fileinfo.birthTime().toSecsSinceEpoch() : fileinfo.lastModified().isValid() ? fileinfo.lastModified().toSecsSinceEpoch() : 0); #else - song->set_ctime(info.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()); diff --git a/ext/libstrawberry-tagreader/tagreadertagparser.cpp b/ext/libstrawberry-tagreader/tagreadertagparser.cpp index b777f11eb..a765c5778 100644 --- a/ext/libstrawberry-tagreader/tagreadertagparser.cpp +++ b/ext/libstrawberry-tagreader/tagreadertagparser.cpp @@ -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());