diff options
-rw-r--r-- | src/library/export/engineprimeexportjob.cpp | 8 | ||||
-rw-r--r-- | src/sources/metadatasourcetaglib.cpp | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/library/export/engineprimeexportjob.cpp b/src/library/export/engineprimeexportjob.cpp index a37b79f383..112f893638 100644 --- a/src/library/export/engineprimeexportjob.cpp +++ b/src/library/export/engineprimeexportjob.cpp @@ -151,8 +151,12 @@ void exportMetadata(djinterop::database* pDatabase, snapshot.comment = pTrack->getComment().toStdString(); snapshot.composer = pTrack->getComposer().toStdString(); snapshot.key = toDjinteropKey(pTrack->getKey()); - int64_t lastModifiedMillisSinceEpoch = - pTrack->getFileInfo().lastModified().toMSecsSinceEpoch(); + int64_t lastModifiedMillisSinceEpoch = 0; + const QDateTime fileLastModified = pTrack->getFileInfo().lastModified(); + if (fileLastModified.isValid()) { + // Only defined if valid + lastModifiedMillisSinceEpoch = fileLastModified.toMSecsSinceEpoch(); + } std::chrono::system_clock::time_point lastModifiedAt{ std::chrono::milliseconds{lastModifiedMillisSinceEpoch}}; snapshot.last_modified_at = lastModifiedAt; diff --git a/src/sources/metadatasourcetaglib.cpp b/src/sources/metadatasourcetaglib.cpp index 6684e820ef..9893623e29 100644 --- a/src/sources/metadatasourcetaglib.cpp +++ b/src/sources/metadatasourcetaglib.cpp @@ -80,7 +80,9 @@ inline QDateTime getSourceSynchronizedAt(const QFileInfo& fileInfo) { // Ignore bogus values like 1970-01-01T00:00:00.000 UTC // that are obviously incorrect and don't provide any // information. - if (lastModifiedUtc.toMSecsSinceEpoch() == 0) { + if (lastModifiedUtc.isValid() && + // Only defined if valid + lastModifiedUtc.toMSecsSinceEpoch() == 0) { return QDateTime{}; } return lastModifiedUtc; |