From 61829c055a75c5c17325302c47122cc786dfd249 Mon Sep 17 00:00:00 2001 From: Thinkofname Date: Mon, 25 Apr 2016 13:31:24 +0100 Subject: [PATCH] Fix a crash caused by trying to load a skin whilst missing vanilla resources --- src/render/mod.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/render/mod.rs b/src/render/mod.rs index c69a09f..57a54cb 100644 --- a/src/render/mod.rs +++ b/src/render/mod.rs @@ -986,10 +986,13 @@ impl TextureManager { let res = self.resources.clone(); // TODO: This shouldn't be hardcoded to steve but instead // have a way to select alex as a default. - let mut val = res.read().unwrap().open("minecraft", "textures/entity/steve.png").unwrap(); - let mut data = Vec::new(); - val.read_to_end(&mut data).unwrap(); - let img = image::load_from_memory(&data).unwrap(); + let img = if let Some(mut val) = res.read().unwrap().open("minecraft", "textures/entity/steve.png") { + let mut data = Vec::new(); + val.read_to_end(&mut data).unwrap(); + image::load_from_memory(&data).unwrap() + } else { + image::DynamicImage::new_rgba8(64, 64) + }; self.put_dynamic(&format!("skin-{}", hash), img); self.skins.insert(hash.to_owned(), AtomicIsize::new(0)); renderer.skin_request.send(hash.to_owned()).unwrap();