Use Rc for UserData as it's !Sync

This commit is contained in:
Henrik Friedrichsen
2023-08-26 15:05:13 +02:00
parent 055a82cb77
commit b4a397c84d

View File

@@ -1,4 +1,5 @@
use std::path::Path; use std::path::Path;
use std::rc::Rc;
use std::sync::Arc; use std::sync::Arc;
use cursive::traits::Nameable; use cursive::traits::Nameable;
@@ -49,7 +50,7 @@ pub fn setup_logging(filename: &Path) -> Result<(), fern::InitError> {
Ok(()) Ok(())
} }
pub type UserData = Arc<UserDataInner>; pub type UserData = Rc<UserDataInner>;
pub struct UserDataInner { pub struct UserDataInner {
pub cmd: CommandManager, pub cmd: CommandManager,
} }
@@ -150,7 +151,7 @@ impl Application {
cmd_manager.register_all(); cmd_manager.register_all();
cmd_manager.register_keybindings(&mut cursive); cmd_manager.register_keybindings(&mut cursive);
cursive.set_user_data(Arc::new(UserDataInner { cmd: cmd_manager })); cursive.set_user_data(Rc::new(UserDataInner { cmd: cmd_manager }));
let search = let search =
ui::search::SearchView::new(event_manager.clone(), queue.clone(), library.clone()); ui::search::SearchView::new(event_manager.clone(), queue.clone(), library.clone());