diff options
author | 2021-11-07 14:32:18 +0100 | |
---|---|---|
committer | 2021-11-29 14:41:05 +0700 | |
commit | 08c771fa703f93faf57207a6793cf70cf105de5a (patch) | |
tree | 8d3b146046229c9d7675f329de95ebcc0dc9c8cc /glutin | |
parent | aeec0375f0897b2ef0897c4c54476b2d0db9311a (diff) | |
download | iced-08c771fa703f93faf57207a6793cf70cf105de5a.tar.gz iced-08c771fa703f93faf57207a6793cf70cf105de5a.tar.bz2 iced-08c771fa703f93faf57207a6793cf70cf105de5a.zip |
Allow `Application::run` to return on native platforms
Diffstat (limited to 'glutin')
-rw-r--r-- | glutin/src/application.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/glutin/src/application.rs b/glutin/src/application.rs index 5d10e96a..3a96cae9 100644 --- a/glutin/src/application.rs +++ b/glutin/src/application.rs @@ -11,6 +11,7 @@ use iced_winit::futures; use iced_winit::futures::channel::mpsc; use iced_winit::{Cache, Clipboard, Debug, Proxy, Settings}; +use crate::glutin::platform::run_return::EventLoopExtRunReturn; use glutin::window::Window; use std::mem::ManuallyDrop; @@ -33,7 +34,7 @@ where 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 = { @@ -115,7 +116,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 glutin::event_loop::ControlFlow; if let ControlFlow::Exit = control_flow { @@ -148,6 +149,8 @@ where }; } }); + + Ok(()) } async fn run_instance<A, E, C>( |