Fix SIGSEGV on exit in some edge cases

This commit is contained in:
Héctor Ramón Jiménez 2025-09-06 06:02:11 +02:00
parent c65bfd1afb
commit 355f0e0921
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -422,7 +422,9 @@ where
); );
} }
Control::Exit => { Control::Exit => {
self.process_event(event_loop, Event::Exit);
event_loop.exit(); event_loop.exit();
break;
} }
Control::Crash(error) => { Control::Crash(error) => {
self.error = Some(error); self.error = Some(error);
@ -469,6 +471,7 @@ enum Event<Message: 'static> {
on_open: oneshot::Sender<window::Id>, on_open: oneshot::Sender<window::Id>,
}, },
EventLoopAwakened(winit::event::Event<Message>), EventLoopAwakened(winit::event::Event<Message>),
Exit,
} }
#[derive(Debug)] #[derive(Debug)]
@ -1039,6 +1042,7 @@ async fn run_instance<P>(
_ => {} _ => {}
} }
} }
Event::Exit => break,
} }
} }