diff --git a/src/core.rs b/src/core.rs index 5fc218a7..bb659486 100644 --- a/src/core.rs +++ b/src/core.rs @@ -114,13 +114,16 @@ pub fn main_thread ( let sleep = Duration::from_millis(16); Ok(spawn(move || loop { - terminal.draw(|frame|{ - let area = frame.size(); - let buffer = frame.buffer_mut(); - device.read().unwrap() - .render(buffer, area) - .expect("Failed to render content"); - }).expect("Failed to render frame"); + if let Ok(device) = device.try_read() { + terminal.draw(|frame|{ + let area = frame.size(); + let buffer = frame.buffer_mut(); + device + .render(buffer, area) + .expect("Failed to render content"); + }) + .expect("Failed to render frame"); + } if exited.fetch_and(true, Ordering::Relaxed) { break