Prevent shuffle crash
fixes
@@ -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();
+ 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);
+ }
} else {
let context = self.state.get_context_uri();
debug!("{:?}", context);
