neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 0cf2dc63bf9e3c94e1373142a6198635efd1c514
parent d33aebb821b7e7c9197b035c9152859e0b6ed712
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Mon, 14 Feb 2022 20:40:58 +0800

fix(win_split_ins): do not fail when oldwin is not valid

Ref #14240

Diffstat:
Msrc/nvim/quickfix.c | 9---------
Msrc/nvim/window.c | 8+++-----
2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/nvim/quickfix.c b/src/nvim/quickfix.c @@ -3646,15 +3646,6 @@ static int qf_open_new_cwindow(qf_info_T *qi, int height) if (win_split(height, flags) == FAIL) { return FAIL; // not enough room for window } - - // User autocommands may have invalidated the previous window after calling - // win_split, so add a check to ensure that the win is still here - if (IS_LL_STACK(qi) && !win_valid(win)) { - // close the window that was supposed to be for the loclist - win_close(curwin, false, false); - return FAIL; - } - RESET_BINDING(curwin); if (IS_LL_STACK(qi)) { diff --git a/src/nvim/window.c b/src/nvim/window.c @@ -1420,13 +1420,11 @@ int win_split_ins(int size, int flags, win_T *new_wp, int dir) p_wh = i; } - if (!win_valid(oldwin)) { - return FAIL; + if (win_valid(oldwin)) { + // Send the window positions to the UI + oldwin->w_pos_changed = true; } - // Send the window positions to the UI - oldwin->w_pos_changed = true; - return OK; }