From 80635004a4be936660a972fd97997ae84dcc6ebd Mon Sep 17 00:00:00 2001 From: Vincent Foulon Date: Thu, 18 Mar 2021 12:56:17 +0000 Subject: [PATCH] Remove unwraps when asset loading fails --- voxygen/src/menu/main/ui/connecting.rs | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/voxygen/src/menu/main/ui/connecting.rs b/voxygen/src/menu/main/ui/connecting.rs index 7df6acd662..42c090a1c6 100644 --- a/voxygen/src/menu/main/ui/connecting.rs +++ b/voxygen/src/menu/main/ui/connecting.rs @@ -19,10 +19,19 @@ impl LoadingAnimation { fn new(raw: &(f32, Vec), ui: &mut Ui) -> Self { let mut frames = vec![]; for frame_path in raw.1.iter() { - frames.push(ui.add_graphic(Graphic::Image( - assets::Image::load(frame_path).unwrap().read().to_image(), - None, - ))); + if let Ok(image) = assets::Image::load(frame_path) { + frames.push(ui.add_graphic(Graphic::Image(image.read().to_image(), None))); + } else { + frames.push( + ui.add_graphic(Graphic::Image( + assets::Image::load("voxygen.element.not_found") + .unwrap_or_else(|_| panic!("Missing asset '{}'", frame_path)) + .read() + .to_image(), + None, + )), + ) + } } Self { speed_factor: raw.0, @@ -51,7 +60,9 @@ impl Screen { pub fn new(ui: &mut Ui) -> Self { let animations = LoadingAnimationManifest::load("voxygen.element.animation.loaders.manifest") - .unwrap() + .expect( + "Missing loader manifest file 'voxygen/element/animation/loaders/manifest.ron'", + ) .cloned() .0; Self {