aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/fileio.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2017-03-20 02:48:28 +0100
committerJustin M. Keyes <justinkz@gmail.com>2017-03-22 18:42:16 +0100
commitb9e1289819183f94afb43330a7e0d953869e2af7 (patch)
tree4b2a5116430921f3f93153822a6461f694a88d65 /src/nvim/fileio.c
parent06ed7a189b2c1dca88f307538b9739b989776068 (diff)
downloadrneovim-b9e1289819183f94afb43330a7e0d953869e2af7.tar.gz
rneovim-b9e1289819183f94afb43330a7e0d953869e2af7.tar.bz2
rneovim-b9e1289819183f94afb43330a7e0d953869e2af7.zip
vim-patch:8.0.0486
Problem: Crash and endless loop when closing windows in a SessionLoadPost autocommand. Solution: Check for valid tabpage. (partly neovim/neovim#6308) https://github.com/vim/vim/commit/8c752bd6c4af54c0b7bac35a39acc2bf16015f85 Closes #6308
Diffstat (limited to 'src/nvim/fileio.c')
-rw-r--r--src/nvim/fileio.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c
index 873c15ff4a..d948e20b32 100644
--- a/src/nvim/fileio.c
+++ b/src/nvim/fileio.c
@@ -6464,6 +6464,12 @@ win_found:
win_remove(curwin, NULL);
aucmd_win_used = false;
last_status(false); // may need to remove last status line
+
+ if (!valid_tabpage_win(curtab)) {
+ // no valid window in current tabpage
+ close_tabpage(curtab);
+ }
+
restore_snapshot(SNAP_AUCMD_IDX, false);
(void)win_comp_pos(); // recompute window positions
unblock_autocmds();