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

Ref #14240
This commit is contained in:
zeertzjq 2022-02-14 20:40:58 +08:00
parent d33aebb821
commit 0cf2dc63bf
2 changed files with 3 additions and 14 deletions

View File

@ -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)) {

View File

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