diff options
Diffstat (limited to 'winit/src/application.rs')
-rw-r--r-- | winit/src/application.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index f28aca32..6a176834 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -23,8 +23,6 @@ use crate::{Clipboard, Error, Proxy, Settings}; use futures::channel::mpsc; -use winit::raw_window_handle::HasWindowHandle; - use std::mem::ManuallyDrop; use std::sync::Arc; @@ -785,13 +783,16 @@ pub fn run_command<A, C, E>( .send_event(tag(window.id().into())) .expect("Send message to event loop"); } - window::Action::FetchNativeHandle(_id, tag) => { - proxy - .send_event(tag(&window - .window_handle() - .expect("Missing window handle"))) - .expect("Send message to event loop"); + window::Action::RunWithHandle(_id, tag) => { + use window::raw_window_handle::HasWindowHandle; + + if let Ok(handle) = window.window_handle() { + proxy + .send_event(tag(&handle)) + .expect("Send message to event loop"); + } } + window::Action::Screenshot(_id, tag) => { let bytes = compositor.screenshot( renderer, |