From 086f5c785553a5981438c8f34b5d5c6b9987bf4a Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Tue, 22 Apr 2025 08:29:57 -0700 Subject: [PATCH] skip nil tracks when restoring play queue --- backend/mediaprovider/model.go | 3 +++ backend/savedplayqueue.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/mediaprovider/model.go b/backend/mediaprovider/model.go index bd7b4d7..e10f257 100644 --- a/backend/mediaprovider/model.go +++ b/backend/mediaprovider/model.go @@ -218,6 +218,9 @@ func (t *Track) Metadata() MediaItemMetadata { } func (t *Track) Copy() MediaItem { + if t == nil { + return nil + } new := *t return &new } diff --git a/backend/savedplayqueue.go b/backend/savedplayqueue.go index 5efc0d8..4a25af1 100644 --- a/backend/savedplayqueue.go +++ b/backend/savedplayqueue.go @@ -98,7 +98,7 @@ func LoadPlayQueue(filepath string, sm *ServerManager, loadFromServer bool) (*Sa tracks := make([]*mediaprovider.Track, 0, len(savedData.TrackIDs)) mp := sm.Server for i, id := range savedData.TrackIDs { - if tr, err := mp.GetTrack(id); err != nil { + if tr, err := mp.GetTrack(id); err != nil || tr == nil { // ignore/skip individual track failures if i < savedData.TrackIndex { savedData.TrackIndex--