summaryrefslogtreecommitdiff
path: root/src/playlist/source.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-10-20 12:44:52 +1100
committerjacqueline <me@jacqueline.id.au>2023-10-20 12:44:52 +1100
commita8b866aafe81fc79931fd8132fa14e4eb1d518bf (patch)
tree5a52c706834d6398ca37fe09fe49f56eec5c809c /src/playlist/source.cpp
parentc27880282afc93c63680e8f0162c3200c6cacd6a (diff)
downloadtangara-fw-a8b866aafe81fc79931fd8132fa14e4eb1d518bf.tar.gz
Don't crash if the current track source encounters a record with no id
This *shouldn't* normally happen, but it's not worth crashing over.
Diffstat (limited to 'src/playlist/source.cpp')
-rw-r--r--src/playlist/source.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/playlist/source.cpp b/src/playlist/source.cpp
index d51d97ab..7a062bc7 100644
--- a/src/playlist/source.cpp
+++ b/src/playlist/source.cpp
@@ -139,9 +139,12 @@ auto IndexRecordSource::Peek(std::size_t n, std::vector<database::TrackId>* out)
working_item = 0;
}
- out->push_back(working_page->values().at(working_item)->track().value());
- n--;
- items_added++;
+ auto record = working_page->values().at(working_item);
+ if (record->track()) {
+ out->push_back(record->track().value());
+ n--;
+ items_added++;
+ }
working_item++;
}