aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/winfloat.c
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2025-02-14 21:28:51 +0800
committerGitHub <noreply@github.com>2025-02-14 05:28:51 -0800
commitcff5fa49fc5a71e00fe5f7b59e6584a825c1a8b8 (patch)
tree361991995be8a51e195f0c6470cc1adfe6a0e46f /src/nvim/winfloat.c
parentdc33879dc2b2e855af1f50b1fe0ecb668f0f4a08 (diff)
downloadrneovim-cff5fa49fc5a71e00fe5f7b59e6584a825c1a8b8.tar.gz
rneovim-cff5fa49fc5a71e00fe5f7b59e6584a825c1a8b8.tar.bz2
rneovim-cff5fa49fc5a71e00fe5f7b59e6584a825c1a8b8.zip
fix(float): "Not enough room" error for 1-line float #25192
Problem: set winbar on a floating window which only have one row will cause crash. Solution: when new floating window only have one room don't copy winbar from target window" Fix #19464
Diffstat (limited to 'src/nvim/winfloat.c')
-rw-r--r--src/nvim/winfloat.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nvim/winfloat.c b/src/nvim/winfloat.c
index d11b965dfc..8b039ffa79 100644
--- a/src/nvim/winfloat.c
+++ b/src/nvim/winfloat.c
@@ -22,6 +22,7 @@
#include "nvim/move.h"
#include "nvim/option.h"
#include "nvim/option_defs.h"
+#include "nvim/option_vars.h"
#include "nvim/optionstr.h"
#include "nvim/pos_defs.h"
#include "nvim/strings.h"
@@ -65,6 +66,12 @@ win_T *win_new_float(win_T *wp, bool last, WinConfig fconfig, Error *err)
}
wp = win_alloc(tp_last, false);
win_init(wp, curwin, 0);
+ if (wp->w_p_wbr != NULL && fconfig.height == 1) {
+ if (wp->w_p_wbr != empty_string_option) {
+ free_string_option(wp->w_p_wbr);
+ }
+ wp->w_p_wbr = empty_string_option;
+ }
} else {
assert(!last);
assert(!wp->w_floating);