From 5b1b0911034d4c208d12738241ec749e1f979a84 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 27 Nov 2023 17:41:01 +0100 Subject: [PATCH] Return `winit::error::EventLoopError` to caller --- crates/eframe/src/lib.rs | 5 +++++ crates/eframe/src/native/run.rs | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/eframe/src/lib.rs b/crates/eframe/src/lib.rs index 5f47335b3..ff30cf283 100644 --- a/crates/eframe/src/lib.rs +++ b/crates/eframe/src/lib.rs @@ -316,6 +316,11 @@ pub enum Error { #[error("winit error: {0}")] Winit(#[from] winit::error::OsError), + /// An error from [`winit::EventLoop`]. + #[cfg(not(target_arch = "wasm32"))] + #[error("winit EventLoopError: {0}")] + WinitEventLoop(#[from] winit::error::EventLoopError), + /// An error from [`glutin`] when using [`glow`]. #[cfg(all(feature = "glow", not(target_arch = "wasm32")))] #[error("glutin error: {0}")] diff --git a/crates/eframe/src/native/run.rs b/crates/eframe/src/native/run.rs index 033f013f4..825852285 100644 --- a/crates/eframe/src/native/run.rs +++ b/crates/eframe/src/native/run.rs @@ -76,7 +76,7 @@ fn run_and_return( let mut returned_result = Ok(()); - let _ = event_loop.run_on_demand(|event, event_loop_window_target| { + event_loop.run_on_demand(|event, event_loop_window_target| { crate::profile_scope!("winit_event", short_event_description(&event)); let event_result = match &event { @@ -203,7 +203,7 @@ fn run_and_return( } event_loop_window_target.set_control_flow(ControlFlow::WaitUntil(next_repaint_time)); }; - }); + })?; log::debug!("eframe window closed");