diff --git a/connect/src/spirc.rs b/connect/src/spirc.rs index 344f63b..b574ff5 100644 --- a/connect/src/spirc.rs +++ b/connect/src/spirc.rs @@ -668,15 +668,15 @@ impl SpircTask { self.state.set_shuffle(frame.get_state().get_shuffle()); if self.state.get_shuffle() { let current_index = self.state.get_playing_track_index(); - { - let tracks = self.state.mut_track(); + let tracks = self.state.mut_track(); + if !tracks.is_empty() { tracks.swap(0, current_index as usize); if let Some((_, rest)) = tracks.split_first_mut() { let mut rng = rand::thread_rng(); rest.shuffle(&mut rng); } + self.state.set_playing_track_index(0); } - self.state.set_playing_track_index(0); } else { let context = self.state.get_context_uri(); debug!("{:?}", context);