diff options
author | Jit Yao Yap <jityao@gmail.com> | 2019-03-22 00:10:57 +0800 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-03-23 22:14:03 +0100 |
commit | 31fa064c683ae049fd392b8280e24aa14f0f4fa3 (patch) | |
tree | da039731f3c80d12537c29c732ab4af858ffe0cc /src/nvim/window.c | |
parent | b3b8910c486966f626d760a4eaec4a5c8bd4cc01 (diff) | |
download | rneovim-31fa064c683ae049fd392b8280e24aa14f0f4fa3.tar.gz rneovim-31fa064c683ae049fd392b8280e24aa14f0f4fa3.tar.bz2 rneovim-31fa064c683ae049fd392b8280e24aa14f0f4fa3.zip |
floating-window.c: fix crash when using inccommand
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r-- | src/nvim/window.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c index c25322c162..e1165e6ee9 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -2462,7 +2462,7 @@ int win_close(win_T *win, bool free_buf) } if (!was_floating) { - if (p_ea && (*p_ead == 'b' || *p_ead == dir)) { + if (!curwin->w_floating && p_ea && (*p_ead == 'b' || *p_ead == dir)) { // If the frame of the closed window contains the new current window, // only resize that frame. Otherwise resize all windows. win_equal(curwin, curwin->w_frame->fr_parent == win_frame, dir); @@ -4656,7 +4656,11 @@ void win_size_restore(garray_T *gap) { int i = 0; FOR_ALL_WINDOWS_IN_TAB(wp, curtab) { - frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]); + if (wp->w_floating) { + win_setwidth_win(((int *)gap->ga_data)[i++], wp); + } else { + frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]); + } win_setheight_win(((int *)gap->ga_data)[i++], wp); } } |