diff --git a/src/server/input_service.rs b/src/server/input_service.rs index 68513a0a4..c9d41d5a6 100644 --- a/src/server/input_service.rs +++ b/src/server/input_service.rs @@ -218,8 +218,6 @@ pub fn fix_key_down_timeout_loop() { std::thread::sleep(std::time::Duration::from_millis(300)); fix_key_down_timeout(false); }); - // atexit is called before exit - unsafe { libc::atexit(fix_key_down_timeout_at_exit) }; unsafe { libc::signal(libc::SIGINT, fix_key_down_timeout_at_signal as _); } diff --git a/src/ui.rs b/src/ui.rs index c66f8854a..311939f22 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -360,6 +360,7 @@ impl UI { } fn save_size(&mut self, x: i32, y: i32, w: i32, h: i32) { + crate::server::input_service::fix_key_down_timeout_at_exit(); Config::set_size(x, y, w, h); }