diff --git a/desktop/src-tauri/src/download_manager/download_manager.rs b/desktop/src-tauri/src/download_manager/download_manager.rs index b73eb978..7141d625 100644 --- a/desktop/src-tauri/src/download_manager/download_manager.rs +++ b/desktop/src-tauri/src/download_manager/download_manager.rs @@ -83,7 +83,7 @@ pub enum DownloadStatus { /// which provides raw access to the underlying queue. /// THIS EDITING IS BLOCKING!!! pub struct DownloadManager { - terminator: Mutex>>, + terminator: Mutex>>>, download_queue: Queue, progress: CurrentProgressObject, command_sender: Sender, @@ -98,7 +98,7 @@ impl DownloadManager { command_sender: Sender, ) -> Self { Self { - terminator, + terminator: Mutex::new(Some(terminator)), download_queue, progress, command_sender, @@ -177,7 +177,8 @@ impl DownloadManager { self.command_sender .send(DownloadManagerSignal::Finish) .unwrap(); - self.terminator.join() + let terminator = self.terminator.lock().unwrap().take(); + terminator.unwrap().join() } pub fn uninstall_application(&self, meta: DownloadableMetadata) { self.command_sender