aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-02-02 10:05:03 +0800
committerGitHub <noreply@github.com>2023-02-02 10:05:03 +0800
commit2c5906b55bb6092121f4d3b032d5449da7675c2b (patch)
tree12bc52db168cb9ecd5bb743c9b8013b4637ad260 /src/nvim/tui
parentecc1595c7b81987ca9d6265d1e08ef37a05c95bf (diff)
downloadrneovim-2c5906b55bb6092121f4d3b032d5449da7675c2b.tar.gz
rneovim-2c5906b55bb6092121f4d3b032d5449da7675c2b.tar.bz2
rneovim-2c5906b55bb6092121f4d3b032d5449da7675c2b.zip
fix(exit): skip unnecessary steps in TUI preserve_exit() (#21897)
This prevents the TUI from doing unexpected things when receiving a deadly signal or running out of memory.
Diffstat (limited to 'src/nvim/tui')
-rw-r--r--src/nvim/tui/tui.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
index a50e44f7a3..ceda3b2076 100644
--- a/src/nvim/tui/tui.c
+++ b/src/nvim/tui/tui.c
@@ -458,6 +458,9 @@ static void tui_terminal_stop(TUIData *tui)
void tui_stop(TUIData *tui)
{
+ if (tui->stopped) {
+ return;
+ }
tui_terminal_stop(tui);
stream_set_blocking(tui->input.in_fd, true); // normalize stream (#2598)
tinput_destroy(&tui->input);