From 8b3b554de2b9853a922b285082a0d1ca6f864ddb Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Tue, 14 Jan 2025 11:16:03 +0000 Subject: Panic instead of erroring when compositor channel unexpectedly closes --- winit/src/program.rs | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'winit') diff --git a/winit/src/program.rs b/winit/src/program.rs index 653d10bb..0f1ea042 100644 --- a/winit/src/program.rs +++ b/winit/src/program.rs @@ -586,13 +586,13 @@ async fn run_instance( let compositor_receiver = compositor_receiver.take().expect("Waiting for compositor"); - match compositor_receiver.await.ok() { - Some(Ok((new_compositor, event))) => { + match compositor_receiver.await { + Ok(Ok((new_compositor, event))) => { compositor = Some(new_compositor); Some(event) } - Some(Err(error)) => { + Ok(Err(error)) => { control_sender .start_send(Control::Crash( Error::GraphicsCreationFailed(error), @@ -600,15 +600,8 @@ async fn run_instance( .expect("Send control action"); break; } - None => { - control_sender - .start_send(Control::Crash( - Error::GraphicsCreationFailed( - graphics::Error::NoAvailablePixelFormat, - ), - )) - .expect("Send control action"); - break; + Err(error) => { + panic!("Compositor initialization failed: {error}") } } // Empty the queue if possible -- cgit