diff options
author | Jan Holthuis <jan.holthuis@ruhr-uni-bochum.de> | 2022-01-07 13:49:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-07 13:49:19 +0100 |
commit | 52f7315f7007dbd5f6d430d841f7e466c38ea050 (patch) | |
tree | 9be8f6c7c3bf08ddbdff0cf8fd7f450fe98ee532 | |
parent | bdf09780425d42082fb1d5f0c5bfb79d865a74a5 (diff) | |
parent | ff3298e26778424202e750173a0268ed267790db (diff) |
Merge pull request #4607 from uklotzde/beats-deserialization
Beats deserialization: Fix misleading warning logs if no data available
-rw-r--r-- | src/library/dao/trackdao.cpp | 5 | ||||
-rw-r--r-- | src/track/beats.cpp | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/library/dao/trackdao.cpp b/src/library/dao/trackdao.cpp index 86b87c16f0..0f66bf272b 100644 --- a/src/library/dao/trackdao.cpp +++ b/src/library/dao/trackdao.cpp @@ -1245,6 +1245,11 @@ bool setTrackBeats(const QSqlRecord& record, const int column, Track* pTrack) { QString beatsVersion = record.value(column + 1).toString(); QString beatsSubVersion = record.value(column + 2).toString(); QByteArray beatsBlob = record.value(column + 3).toByteArray(); + if (beatsVersion.isEmpty()) { + DEBUG_ASSERT(beatsSubVersion.isEmpty()); + DEBUG_ASSERT(beatsBlob.isEmpty()); + return false; + } bool bpmLocked = record.value(column + 4).toBool(); const mixxx::BeatsPointer pBeats = mixxx::Beats::fromByteArray( pTrack->getSampleRate(), beatsVersion, beatsSubVersion, beatsBlob); diff --git a/src/track/beats.cpp b/src/track/beats.cpp index a4c8e93faa..4393657792 100644 --- a/src/track/beats.cpp +++ b/src/track/beats.cpp @@ -248,6 +248,9 @@ mixxx::BeatsPointer Beats::fromByteArray( const QString& beatsVersion, const QString& beatsSubVersion, const QByteArray& byteArray) { + VERIFY_OR_DEBUG_ASSERT(!beatsVersion.isEmpty()) { + return nullptr; + } mixxx::BeatsPointer pBeats = nullptr; if (beatsVersion == BEAT_GRID_1_VERSION || beatsVersion == BEAT_GRID_2_VERSION) { pBeats = fromBeatGridByteArray(sampleRate, beatsSubVersion, byteArray); |