diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-03-23 22:13:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-23 22:13:57 +0100 |
commit | b3b8910c486966f626d760a4eaec4a5c8bd4cc01 (patch) | |
tree | af625da6c6033f5578baaaa519a29bc93e5b0ca3 /src | |
parent | 3e78319ac608abadd5204e00295dc3ace7e2edd8 (diff) | |
parent | ae49e8da588a2faed61f506c1e24bcf59fce693a (diff) | |
download | rneovim-b3b8910c486966f626d760a4eaec4a5c8bd4cc01.tar.gz rneovim-b3b8910c486966f626d760a4eaec4a5c8bd4cc01.tar.bz2 rneovim-b3b8910c486966f626d760a4eaec4a5c8bd4cc01.zip |
Merge pull request #9763 from bfredl/prevfloat
window: don't crash when closing two floats in a row
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/window.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index f9a0839702..c25322c162 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -2313,10 +2313,10 @@ int win_close(win_T *win, bool free_buf) if (!win->w_floating) { wp = frame2win(win_altframe(win, NULL)); } else { - if (win_valid(prevwin)) { + if (win_valid(prevwin) && prevwin != win) { wp = prevwin; } else { - wp = curtab->tp_firstwin; + wp = firstwin; } } @@ -2595,10 +2595,10 @@ win_free_mem ( wp = winframe_remove(win, dirp, tp); xfree(frp); } else { - if (win_valid(prevwin)) { + if (win_valid(prevwin) && prevwin != win) { wp = prevwin; } else { - wp = curtab->tp_firstwin; + wp = firstwin; } } win_free(win, tp); |