From d4e3bf696b3c09ed459150a36fd24e261cdc71bd Mon Sep 17 00:00:00 2001 From: Jordan Petridis Date: Tue, 9 Jan 2018 10:52:52 +0200 Subject: [PATCH] EpisodeWidget: Fix updating. --- hammond-gtk/src/manager.rs | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/hammond-gtk/src/manager.rs b/hammond-gtk/src/manager.rs index 6f6d7e7..49fd2f9 100644 --- a/hammond-gtk/src/manager.rs +++ b/hammond-gtk/src/manager.rs @@ -68,20 +68,16 @@ pub fn add(id: i32, directory: &str, sender: Sender) { let prog = Arc::new(Mutex::new(Progress::default())); { - ACTIVE_DOWNLOADS - .write() - .ok() - .map(|mut m| m.insert(id, prog.clone())); + if let Ok(mut m) = ACTIVE_DOWNLOADS.write() { + m.insert(id, prog.clone()); + } } - // { - // let m = ACTIVE_DOWNLOADS.read().unwrap(); - // info!("ACTIVE DOWNLOADS: {:#?}", m); - // } let dir = directory.to_owned(); thread::spawn(move || { if let Ok(episode) = dbqueries::get_episode_from_rowid(id) { - let id = episode.podcast_id(); + let pid = episode.podcast_id(); + let id = episode.rowid(); get_episode(&mut episode.into(), dir.as_str(), Some(prog)) .err() .map(|err| { @@ -90,11 +86,19 @@ pub fn add(id: i32, directory: &str, sender: Sender) { }); { - ACTIVE_DOWNLOADS.write().ok().map(|mut x| x.remove(&id)); + if let Ok(mut m) = ACTIVE_DOWNLOADS.write() { + info!("Removed: {:?}", m.remove(&id)); + } } + // { + // if let Ok(m) = ACTIVE_DOWNLOADS.read() { + // debug!("ACTIVE DOWNLOADS: {:#?}", m); + // } + // } + sender.send(Action::RefreshEpisodesView).unwrap(); - sender.send(Action::RefreshWidgetIfSame(id)).unwrap(); + sender.send(Action::RefreshWidgetIfSame(pid)).unwrap(); } }); }