From fa1005f3a90b00f79162a3765a93afdb30dc21b6 Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Sat, 7 Nov 2020 20:12:38 +0100 Subject: [PATCH] Properly reset when changing music library --- src/backend.rs | 4 ++++ src/window.rs | 1 + 2 files changed, 5 insertions(+) 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()));