diff --git a/src/backend.rs b/src/backend.rs index 09a9cb1..bd412c2 100644 --- a/src/backend.rs +++ b/src/backend.rs @@ -277,6 +277,10 @@ impl Backend { async fn set_music_library_path_priv(&self, path: PathBuf) -> Result<()> { self.set_state(BackendState::Loading); + if let Some(player) = &*self.player.borrow() { + player.clear(); + } + self.music_library_path.replace(Some(path.clone())); self.player.replace(Some(Player::new(path.clone()))); diff --git a/src/window.rs b/src/window.rs index a5b9bd2..28a4eba 100644 --- a/src/window.rs +++ b/src/window.rs @@ -313,6 +313,7 @@ impl Window { BackendState::Ready => { clone.stack.set_visible_child_name("content"); clone.poe_list.clone().reload(); + clone.navigator.reset(); let player = clone.backend.get_player().unwrap(); clone.player_bar.set_player(Some(player.clone()));