diff options
author | 2021-11-29 14:57:40 +0700 | |
---|---|---|
committer | 2021-11-29 14:57:40 +0700 | |
commit | d9f970ffd5af6dafb5e696ad317d9ea7b997eb4b (patch) | |
tree | a86528163bf5830b227cc9c6383102b2543f5c64 /winit | |
parent | 96c7f9765c716dbe94d25f4961d07bc8e18a02c4 (diff) | |
parent | 2f50d114612e0dc5cb23389ade2a21819836d254 (diff) | |
download | iced-d9f970ffd5af6dafb5e696ad317d9ea7b997eb4b.tar.gz iced-d9f970ffd5af6dafb5e696ad317d9ea7b997eb4b.tar.bz2 iced-d9f970ffd5af6dafb5e696ad317d9ea7b997eb4b.zip |
Merge pull request #1112 from AndiHofi/on_exit_callback
Application::run returns on native platforms
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/application.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 9ae1364d..32423e80 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -115,11 +115,12 @@ where use futures::task; use futures::Future; use winit::event_loop::EventLoop; + use winit::platform::run_return::EventLoopExtRunReturn; let mut debug = Debug::new(); debug.startup_started(); - let event_loop = EventLoop::with_user_event(); + let mut event_loop = EventLoop::with_user_event(); let mut proxy = event_loop.create_proxy(); let mut runtime = { @@ -178,7 +179,7 @@ where let mut context = task::Context::from_waker(task::noop_waker_ref()); - event_loop.run(move |event, _, control_flow| { + event_loop.run_return(move |event, _, control_flow| { use winit::event_loop::ControlFlow; if let ControlFlow::Exit = control_flow { @@ -211,6 +212,8 @@ where }; } }); + + Ok(()) } async fn run_instance<A, E, C>( @@ -401,7 +404,7 @@ async fn run_instance<A, E, C>( Err(error) => match error { // This is an unrecoverable error. window::SurfaceError::OutOfMemory => { - panic!("{}", error); + panic!("{:?}", error); } _ => { debug.render_finished(); |