Fix crash on opening from suspend state (#6764)

* Fix crash on opening from suspend state (#6725)

* Fix code style

* revert using of the imperative code style. Add panic if couldn't set terminal raw mode

* remove redundant import of core::panic macros

* small refactoring
This commit is contained in:
shem 2023-04-16 23:07:00 +02:00 committed by GitHub
parent 7706ff77eb
commit 1b016a89d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -471,7 +471,17 @@ pub async fn handle_signals(&mut self, signal: i32) {
} }
} }
signal::SIGCONT => { signal::SIGCONT => {
self.claim_term().await.unwrap(); // Copy/Paste from same issue from neovim:
// https://github.com/neovim/neovim/issues/12322
// https://github.com/neovim/neovim/pull/13084
for retries in 1..=10 {
match self.claim_term().await {
Ok(()) => break,
Err(err) if retries == 10 => panic!("Failed to claim terminal: {}", err),
Err(_) => continue,
}
}
// redraw the terminal // redraw the terminal
let area = self.terminal.size().expect("couldn't get terminal size"); let area = self.terminal.size().expect("couldn't get terminal size");
self.compositor.resize(area); self.compositor.resize(area);