summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/library/export/engineprimeexportjob.cpp8
-rw-r--r--src/sources/metadatasourcetaglib.cpp4
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;