aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-09-19 18:45:11 +0800
committerGitHub <noreply@github.com>2023-09-19 18:45:11 +0800
commitc5abf487f19e45fe96a001b28b9e7981f43eed7d (patch)
tree925a0fe21f642091f307b7f8f1ff33083a73ca41 /src/nvim/window.c
parent1db45a9c1fd68e57611829a9363212a39f3c55d6 (diff)
downloadrneovim-c5abf487f19e45fe96a001b28b9e7981f43eed7d.tar.gz
rneovim-c5abf487f19e45fe96a001b28b9e7981f43eed7d.tar.bz2
rneovim-c5abf487f19e45fe96a001b28b9e7981f43eed7d.zip
fix(float): make "fixed" work with relative=win (#25243)
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r--src/nvim/window.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index 10334083ce..1208494eaf 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -1009,10 +1009,8 @@ void ui_ext_win_position(win_T *wp, bool validate)
comp_row += grid->comp_row;
comp_col += grid->comp_col;
comp_row = MAX(MIN(comp_row, Rows - wp->w_height_outer - (p_ch > 0 ? 1 : 0)), 0);
- comp_col = MAX(MIN(comp_col, Columns - wp->w_width_outer), 0);
- int right_extra = Columns - (int)c.col - wp->w_width - (c.border_chars[2][0] != 0);
- if (!(c.anchor & kFloatAnchorEast) && c.fixed && right_extra < 0) {
- comp_col = (int)c.col;
+ if (!c.fixed || east) {
+ comp_col = MAX(MIN(comp_col, Columns - wp->w_width_outer), 0);
}
wp->w_winrow = comp_row;
wp->w_wincol = comp_col;