diff --git a/api/sixtyfps-cpp/tests/eventloop.cpp b/api/sixtyfps-cpp/tests/eventloop.cpp index 9fefd2f32..93deab4b2 100644 --- a/api/sixtyfps-cpp/tests/eventloop.cpp +++ b/api/sixtyfps-cpp/tests/eventloop.cpp @@ -28,7 +28,7 @@ TEST_CASE("C++ Timers") } -SCENARIO("Quit from event") +TEST_CASE("Quit from event") { int called = 0; sixtyfps::invoke_from_event_loop([&] { @@ -41,7 +41,7 @@ SCENARIO("Quit from event") } -SCENARIO("Event from thread") +TEST_CASE("Event from thread") { std::atomic called = 0; auto t = std::thread([&] { diff --git a/sixtyfps_runtime/rendering_backends/gl/eventloop.rs b/sixtyfps_runtime/rendering_backends/gl/eventloop.rs index ab540d463..2020d03f1 100644 --- a/sixtyfps_runtime/rendering_backends/gl/eventloop.rs +++ b/sixtyfps_runtime/rendering_backends/gl/eventloop.rs @@ -517,7 +517,12 @@ pub fn run(quit_behavior: sixtyfps_corelib::backend::EventLoopQuitBehavior) { }; #[cfg(not(target_arch = "wasm32"))] - winit_loop.run_return(run_fn); + { + winit_loop.run_return(run_fn); + + *GLOBAL_PROXY.get_or_init(Default::default).lock().unwrap() = Default::default(); + } + #[cfg(target_arch = "wasm32")] { // Since wasm does not have a run_return function that takes a non-static closure,