diff --git a/crates/bevy_winit/src/state.rs b/crates/bevy_winit/src/state.rs index 3cc469b62c..35221f5a2e 100644 --- a/crates/bevy_winit/src/state.rs +++ b/crates/bevy_winit/src/state.rs @@ -491,11 +491,12 @@ impl ApplicationHandler for WinitAppRunnerState { { let winit_windows = self.world().non_send_resource::(); let headless = winit_windows.windows.is_empty(); + let exiting = self.app_exit.is_some(); let all_invisible = winit_windows .windows .iter() .all(|(_, w)| !w.is_visible().unwrap_or(false)); - if self.startup_forced_updates > 0 || headless || all_invisible { + if !exiting && (self.startup_forced_updates > 0 || headless || all_invisible) { self.redraw_requested(event_loop); } }