From 4549a8d360121e467c7cd695124f45a44df38848 Mon Sep 17 00:00:00 2001 From: Mark <> Date: Sat, 12 Oct 2024 00:28:18 +0200 Subject: [PATCH] use newer mers and fix merscfg deadlock bug --- musicdb-client/src/merscfg.rs | 22 +++++++++++++++------- musicdb-mers/Cargo.toml | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/musicdb-client/src/merscfg.rs b/musicdb-client/src/merscfg.rs index de3f41b..daefc4b 100644 --- a/musicdb-client/src/merscfg.rs +++ b/musicdb-client/src/merscfg.rs @@ -143,24 +143,32 @@ impl MersCfg { ) -> musicdb_mers::mers_lib::prelude_extend_config::Config { let cmd_es = event_sender.clone(); let cmd_ga = self.channel_gui_actions.0.clone(); - musicdb_mers::add(cfg, db, &Arc::new(move |cmd| { - cmd_ga.send(cmd).unwrap(); - cmd_es.send_event(GuiEvent::RefreshMers).unwrap(); - }), after_db_cmd) + fn get_type(d: &RwLock) -> Type { + d.read().unwrap().get().as_type() + } + musicdb_mers::add( + cfg, + db, + &Arc::new(move |cmd| { + cmd_ga.send(cmd).unwrap(); + cmd_es.send_event(GuiEvent::RefreshMers).unwrap(); + }), + after_db_cmd, + ) .add_var_from_arc( "is_idle".to_owned(), Arc::clone(&self.var_is_idle), - self.var_is_idle.read().unwrap().get().as_type(), + get_type(&self.var_is_idle), ) .add_var_from_arc( "window_size_in_pixels".to_owned(), Arc::clone(&self.var_window_size_in_pixels), - self.var_window_size_in_pixels.read().unwrap().get().as_type(), + get_type(&self.var_window_size_in_pixels), ) .add_var_from_arc( "idle_screen_cover_aspect_ratio".to_owned(), Arc::clone(&self.var_idle_screen_cover_aspect_ratio), - self.var_idle_screen_cover_aspect_ratio.read().unwrap().get().as_type(), + get_type(&self.var_idle_screen_cover_aspect_ratio), ) .add_var("playback_resume".to_owned(),{ let es = event_sender.clone(); diff --git a/musicdb-mers/Cargo.toml b/musicdb-mers/Cargo.toml index 4d40069..7297bd6 100644 --- a/musicdb-mers/Cargo.toml +++ b/musicdb-mers/Cargo.toml @@ -6,5 +6,5 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -mers_lib = { version = "0.9.6", features = ["ecolor-term"] } +mers_lib = { version = "0.9.9", features = ["ecolor-term"] } musicdb-lib = { version = "0.1.0", path = "../musicdb-lib" }