From b0c54a3561b64e6bbbada3b6ddc25c7e4a6aa38b Mon Sep 17 00:00:00 2001 From: Thinkofname Date: Fri, 22 Apr 2016 00:01:38 +0100 Subject: [PATCH] Don't leak the block targeting model when disconnecting from a server --- src/server/mod.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server/mod.rs b/src/server/mod.rs index 27c612b..a352010 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -348,8 +348,12 @@ impl Server { self.world.tick(&mut self.entities); - if let Some((pos, bl, _, _)) = target::trace_ray(&self.world, 4.0, renderer.camera.pos.to_vec(), renderer.view_vector.cast(), target::test_block) { - self.target_info.update(renderer, pos, bl); + if self.player.is_some() { + if let Some((pos, bl, _, _)) = target::trace_ray(&self.world, 4.0, renderer.camera.pos.to_vec(), renderer.view_vector.cast(), target::test_block) { + self.target_info.update(renderer, pos, bl); + } else { + self.target_info.clear(renderer); + } } else { self.target_info.clear(renderer); } @@ -419,6 +423,7 @@ impl Server { if let Some(mut sun_model) = self.sun_model.take() { sun_model.remove(renderer); } + self.target_info.clear(renderer); } fn update_time(&mut self, renderer: &mut render::Renderer, delta: f64) {