From d90f5039be103982a821fc5cf172d4f18279c39b Mon Sep 17 00:00:00 2001 From: rmaj91 Date: Thu, 23 Apr 2026 22:11:11 +0200 Subject: [PATCH 1/2] WinitUserEvent::WakeUp calls app update on wasm --- crates/bevy_winit/src/state.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/bevy_winit/src/state.rs b/crates/bevy_winit/src/state.rs index c3559266e6e52..2ef818a6becb3 100644 --- a/crates/bevy_winit/src/state.rs +++ b/crates/bevy_winit/src/state.rs @@ -192,7 +192,11 @@ impl ApplicationHandler for WinitAppRunnerState { match event { WinitUserEvent::WakeUp => { - self.redraw_requested = true; + if cfg!(not(target_arch = "wasm32")) { + self.redraw_requested = true; + } else { + self.run_app_update(); + } } WinitUserEvent::WindowAdded => { let mut create_window = From b80320a0d094d8bea07e3f2dd2ee904d1686a998 Mon Sep 17 00:00:00 2001 From: rmaj91 Date: Sun, 26 Apr 2026 00:04:10 +0200 Subject: [PATCH 2/2] set flag instead of explicit update --- crates/bevy_winit/src/state.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/crates/bevy_winit/src/state.rs b/crates/bevy_winit/src/state.rs index 2ef818a6becb3..7761342ccf803 100644 --- a/crates/bevy_winit/src/state.rs +++ b/crates/bevy_winit/src/state.rs @@ -192,11 +192,9 @@ impl ApplicationHandler for WinitAppRunnerState { match event { WinitUserEvent::WakeUp => { - if cfg!(not(target_arch = "wasm32")) { - self.redraw_requested = true; - } else { - self.run_app_update(); - } + self.redraw_requested = true; + // this guarantees that app.update() will be called + self.ran_update_since_last_redraw = false; } WinitUserEvent::WindowAdded => { let mut create_window =