From 826462a8f0923926066da66d8575f6573ee3f079 Mon Sep 17 00:00:00 2001 From: Famiu Haque Date: Sat, 28 May 2022 04:57:20 +0600 Subject: fix(ui): require window-local value to show winbar on floating windows (#18773) Previously, there was a bug where setting the local value of 'winbar' to itself would cause winbar to appear on a floating window, which is undesirable. This fix makes it so that it's explicitly required for the window-local value of 'winbar' for a floating window to be set in order for winbar to be shown on that window. --- src/nvim/window.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/window.c b/src/nvim/window.c index f42ef874ef..7b49a3b2d8 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -6689,7 +6689,10 @@ static void last_status_rec(frame_T *fr, bool statusline, bool is_stl_global) void set_winbar(void) { FOR_ALL_WINDOWS_IN_TAB(wp, curtab) { - int winbar_height = (*p_wbr != NUL || *wp->w_p_wbr != NUL) ? 1 : 0; + // Require the local value to be set in order to show winbar on a floating window. + int winbar_height = wp->w_floating ? ((*wp->w_p_wbr != NUL) ? 1 : 0) + : ((*p_wbr != NUL || *wp->w_p_wbr != NUL) ? 1 : 0); + if (wp->w_winbar_height != winbar_height) { wp->w_winbar_height = winbar_height; win_set_inner_size(wp); -- cgit