From abacaddf8a19a73d3c19d7e1644f069af3b65514 Mon Sep 17 00:00:00 2001 From: Logan McNaughton <848146+loganmc10@users.noreply.github.com> Date: Sat, 2 May 2026 17:06:56 +0200 Subject: [PATCH] avoid crash on missing GB files (#822) * avoid crash on missing GB files * more * more --- src/main.rs | 14 +++++++------- src/ui/gui.rs | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main.rs b/src/main.rs index c6d1dd0b..294a1a8f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -179,11 +179,11 @@ async fn main() -> std::io::Result<()> { if device.ui.config.input.transfer_pak[i] && !device.ui.config.input.gb_rom_path[i].is_empty() && !device.ui.config.input.gb_ram_path[i].is_empty() + && let Ok(rom) = std::fs::read(&device.ui.config.input.gb_rom_path[i]) + && let Ok(ram) = std::fs::read(&device.ui.config.input.gb_ram_path[i]) { - device.transferpaks[i].cart.rom = - std::fs::read(&device.ui.config.input.gb_rom_path[i]).unwrap(); - device.transferpaks[i].cart.ram = - std::fs::read(&device.ui.config.input.gb_ram_path[i]).unwrap(); + device.transferpaks[i].cart.rom = rom; + device.transferpaks[i].cart.ram = ram; } } @@ -234,13 +234,13 @@ async fn main() -> std::io::Result<()> { for i in 0..4 { if device.ui.config.input.transfer_pak[i] && !device.ui.config.input.gb_ram_path[i].is_empty() + && !device.transferpaks[i].cart.ram.is_empty() { - tokio::fs::write( + let _ = tokio::fs::write( &device.ui.config.input.gb_ram_path[i], &device.transferpaks[i].cart.ram, ) - .await - .unwrap(); + .await; } } } diff --git a/src/ui/gui.rs b/src/ui/gui.rs index ad14631a..e23b8ee3 100644 --- a/src/ui/gui.rs +++ b/src/ui/gui.rs @@ -210,7 +210,7 @@ fn update_input_profiles(weak: &slint::Weak, config: &ui::config::Con let position = profiles .iter() .position(|profile| *profile == currently_selected); - profile_bindings.push(position.unwrap() as i32); + profile_bindings.push(position.unwrap_or(0) as i32); } handle.set_input_profiles(slint::ModelRc::from(std::rc::Rc::new(