From 3e49c37a086920ea3b193a9ef766fc393fbe75b6 Mon Sep 17 00:00:00 2001 From: sxv20_ Date: Thu, 23 May 2019 10:30:46 +0100 Subject: [PATCH] fix crash on view distance change related to borrows Former-commit-id: 0cfa022e0078b077f3bd128fc6f51d03898722ef --- voxygen/src/session.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/voxygen/src/session.rs b/voxygen/src/session.rs index b0d6239982..7457f84448 100644 --- a/voxygen/src/session.rs +++ b/voxygen/src/session.rs @@ -1,5 +1,5 @@ use crate::{ - hud::{Event as HudEvent, Hud}, + hud::{DebugInfo, Event as HudEvent, Hud}, key_state::KeyState, render::Renderer, scene::Scene, @@ -176,12 +176,16 @@ impl PlayState for SessionState { &self.client.borrow_mut(), ); - // Maintain the UI. - for event in self.hud.maintain( + // extract HUD events ensuring the client borrow gets dropped + let hud_events = self.hud.maintain( global_state, - clock.get_tps(), - self.client.borrow().get_ping_ms(), - ) { + DebugInfo { + tps: clock.get_tps(), + ping_ms: self.client.borrow().get_ping_ms(), + }, + ); + // Maintain the UI. + for event in hud_events { match event { HudEvent::SendMessage(msg) => { // TODO: Handle result