From 355f0e09218a8c9c1bed08b04201d32030a4150c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Sat, 6 Sep 2025 06:02:11 +0200 Subject: [PATCH] Fix `SIGSEGV` on exit in some edge cases --- winit/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/winit/src/lib.rs b/winit/src/lib.rs index 424fb673..38d6f3c3 100644 --- a/winit/src/lib.rs +++ b/winit/src/lib.rs @@ -422,7 +422,9 @@ where ); } Control::Exit => { + self.process_event(event_loop, Event::Exit); event_loop.exit(); + break; } Control::Crash(error) => { self.error = Some(error); @@ -469,6 +471,7 @@ enum Event { on_open: oneshot::Sender, }, EventLoopAwakened(winit::event::Event), + Exit, } #[derive(Debug)] @@ -1039,6 +1042,7 @@ async fn run_instance

( _ => {} } } + Event::Exit => break, } }