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:
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;
}