diff options
author | 2024-08-15 02:11:17 +0200 | |
---|---|---|
committer | 2024-08-15 02:11:17 +0200 | |
commit | 9b99b932bced46047ec2e18c2b6ec5a6c5b3636f (patch) | |
tree | c7f7f6eb1524edd5d934eadc9c4d1e03dcc4fb4b /winit | |
parent | 7c2abc9b8b6898459be56b7b4ae197eadb7dc0ae (diff) | |
download | iced-9b99b932bced46047ec2e18c2b6ec5a6c5b3636f.tar.gz iced-9b99b932bced46047ec2e18c2b6ec5a6c5b3636f.tar.bz2 iced-9b99b932bced46047ec2e18c2b6ec5a6c5b3636f.zip |
Produce `window::Event::Closed` only if window exists
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/program.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/winit/src/program.rs b/winit/src/program.rs index 57cef684..c5c3133d 100644 --- a/winit/src/program.rs +++ b/winit/src/program.rs @@ -1223,13 +1223,15 @@ fn run_action<P, C>( *is_window_opening = true; } window::Action::Close(id) => { - let _ = window_manager.remove(id); + let window = window_manager.remove(id); let _ = ui_caches.remove(&id); - events.push(( - id, - core::Event::Window(core::window::Event::Closed), - )); + if window.is_some() { + events.push(( + id, + core::Event::Window(core::window::Event::Closed), + )); + } } window::Action::GetOldest(channel) => { let id = |