diff src/testdir/test_autocmd.vim @ 30429:69ff2bd737a9 v9.0.0550

patch 9.0.0550: crash when closing a tabpage and buffer is NULL Commit: https://github.com/vim/vim/commit/62de54b48d6354d4622ec0b21ffa4cf3cf312505 Author: zeertzjq <zeertzjq@outlook.com> Date: Thu Sep 22 18:08:37 2022 +0100 patch 9.0.0550: crash when closing a tabpage and buffer is NULL Problem: Crash when closing a tabpage and buffer is NULL. Solution: Adjust how autocommands are triggered when closing a window. (closes #11198, closes #11197)
author Bram Moolenaar <Bram@vim.org>
date Thu, 22 Sep 2022 19:15:03 +0200
parents dc238f2c7355
children 7ab65e398be7
line wrap: on
line diff
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -515,6 +515,26 @@ func Test_WinClosed_throws_with_tabs()
   augroup! test-WinClosed
 endfunc
 
+" This used to trigger WinClosed twice for the same window, and the window's
+" buffer was NULL in the second autocommand.
+func Test_WinClosed_switch_tab()
+  edit Xa
+  split Xb
+  split Xc
+  tab split
+  new
+  augroup test-WinClosed
+    autocmd WinClosed * tabprev | bwipe!
+  augroup END
+  close
+  " Check that the tabline has been fully removed
+  call assert_equal([1, 1], win_screenpos(0))
+
+  autocmd! test-WinClosed
+  augroup! test-WinClosed
+  %bwipe!
+endfunc
+
 func s:AddAnAutocmd()
   augroup vimBarTest
     au BufReadCmd * echo 'hello'