From a3aad7a2f48ffdd9fe0a7d38d452ac0e1744c2ba Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Tue, 28 Feb 2023 22:52:18 +0200 Subject: [PATCH] fix: fixed (?) error on deleting non-installed voice package I didn't test this but I think it should work lol --- src/ui/preferences/general.rs | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/ui/preferences/general.rs b/src/ui/preferences/general.rs index 82427c7..0271ca1 100644 --- a/src/ui/preferences/general.rs +++ b/src/ui/preferences/general.rs @@ -626,19 +626,25 @@ impl SimpleAsyncComponent for GeneralApp { let package = VoicePackage::with_locale(package.locale).unwrap(); - std::thread::spawn(move || { - if let Err(err) = package.delete_in(&config.game.path) { - tracing::error!("Failed to delete voice package: {:?}", package.locale()); - - sender.input(GeneralAppMsg::Toast { - title: tr("voice-package-deletion-error"), - description: Some(err.to_string()) - }); - } + if !package.is_installed_in(&config.game.path) { + std::thread::spawn(move || { + if let Err(err) = package.delete_in(&config.game.path) { + tracing::error!("Failed to delete voice package: {:?}", package.locale()); + + sender.input(GeneralAppMsg::Toast { + title: tr("voice-package-deletion-error"), + description: Some(err.to_string()) + }); + } + + sender.input(GeneralAppMsg::SetVoicePackageSensitivity(index, true)); + sender.output(PreferencesAppMsg::UpdateLauncherState); + }); + } + else { sender.input(GeneralAppMsg::SetVoicePackageSensitivity(index, true)); - sender.output(PreferencesAppMsg::UpdateLauncherState); - }); + } } } }