diff options
| -rw-r--r-- | src/nvim/quickfix.c | 5 | ||||
| -rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 13 | 
2 files changed, 17 insertions, 1 deletions
| diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c index f8d2d37a91..a12fb70388 100644 --- a/src/nvim/quickfix.c +++ b/src/nvim/quickfix.c @@ -2313,7 +2313,10 @@ static bool qflist_valid(win_T *wp, unsigned int qf_id)    qf_info_T *qi = &ql_info;    if (wp) { -    qi = GET_LOC_LIST(wp); +    if (!win_valid(wp)) { +      return false; +    } +    qi = GET_LOC_LIST(wp);  // Location list      if (!qi) {        return false;      } diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index 7ad3c8c6ad..6cfca21f71 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -2741,6 +2741,19 @@ func Test_autocmd_closing_cmdwin()    only  endfunc +func Test_autocmd_vimgrep() +  augroup aucmd_vimgrep +    au QuickfixCmdPre,BufNew,BufDelete,BufReadCmd * sb +    au QuickfixCmdPre,BufNew,BufDelete,BufReadCmd * q9 +  augroup END +  " TODO: if this is executed directly valgrind reports errors +  call assert_fails('lv?a?', 'E926:') + +  augroup aucmd_vimgrep +    au! +  augroup END +endfunc +  func Test_bufwipeout_changes_window()    " This should not crash, but we don't have any expectations about what    " happens, changing window in BufWipeout has unpredictable results. | 
