diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-02-14 21:43:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-14 21:43:01 +0100 |
commit | 2a50ff7e2fa724fc748068ba19012239886b74dd (patch) | |
tree | 4379107af2737cb9531a9aff4db1cb8481b36561 /src | |
parent | eaf9caaf43516366e8d8aa44185f13079649ac59 (diff) | |
parent | 943531cf9e99835a319f805a012e0e65c3499a2d (diff) | |
download | rneovim-2a50ff7e2fa724fc748068ba19012239886b74dd.tar.gz rneovim-2a50ff7e2fa724fc748068ba19012239886b74dd.tar.bz2 rneovim-2a50ff7e2fa724fc748068ba19012239886b74dd.zip |
Merge #6108 from ZyX-I/pr-5678
Better core dumps checking
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/terminal.c | 4 | ||||
-rw-r--r-- | src/nvim/ui.c | 5 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/nvim/terminal.c b/src/nvim/terminal.c index bd7b9fc58f..b0104a4e4c 100644 --- a/src/nvim/terminal.c +++ b/src/nvim/terminal.c @@ -977,9 +977,7 @@ static void refresh_terminal(Terminal *term) // event. static void refresh_timer_cb(TimeWatcher *watcher, void *data) { - if (exiting) { - // bad things can happen if we redraw when exiting, and there's no need to - // update the buffer. + if (exiting) { // Cannot redraw (requires event loop) during teardown/exit. goto end; } Terminal *term; diff --git a/src/nvim/ui.c b/src/nvim/ui.c index d3784b6cd3..8c72c28e56 100644 --- a/src/nvim/ui.c +++ b/src/nvim/ui.c @@ -258,7 +258,10 @@ void ui_detach_impl(UI *ui) shift_index++; } - if (--ui_count) { + if (--ui_count + // During teardown/exit the loop was already destroyed, cannot schedule. + // https://github.com/neovim/neovim/pull/5119#issuecomment-258667046 + && !exiting) { ui_schedule_refresh(); } } |