Fix run_on_demand exiting on consequent call

Fixes #3284.
This commit is contained in:
Kirill Chibisov 2023-12-22 20:00:20 +04:00
parent 9a28bb4b49
commit 8cc5cb9d9b
13 changed files with 141 additions and 69 deletions

View file

@ -530,6 +530,10 @@ impl<T> EventLoopWindowTarget<T> {
self.runner_shared.exit_code().is_some()
}
pub(crate) fn clear_exit(&self) {
self.runner_shared.clear_exit();
}
fn exit_code(&self) -> Option<i32> {
self.runner_shared.exit_code()
}

View file

@ -163,6 +163,10 @@ impl<T> EventLoopRunner<T> {
self.exit.get()
}
pub fn clear_exit(&self) {
self.exit.set(None);
}
pub fn should_buffer(&self) -> bool {
let handler = self.event_handler.take();
let should_buffer = handler.is_none();