aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/drawscreen.c8
-rw-r--r--src/nvim/statusline.c5
2 files changed, 7 insertions, 6 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
index 5ced55b2c7..810175aeba 100644
--- a/src/nvim/drawscreen.c
+++ b/src/nvim/drawscreen.c
@@ -1052,11 +1052,11 @@ int showmode(void)
clear_showcmd();
}
- // If the last window has no status line and global statusline is disabled,
+ // If the current or last window has no status line and global statusline is disabled,
// the ruler is after the mode message and must be redrawn
- win_T *last = curwin->w_floating ? curwin : lastwin_nofloating();
- if (redrawing() && last->w_status_height == 0 && global_stl_height() == 0) {
- win_redr_ruler(last);
+ win_T *ruler_win = curwin->w_status_height == 0 ? curwin : lastwin_nofloating();
+ if (redrawing() && ruler_win->w_status_height == 0 && global_stl_height() == 0) {
+ win_redr_ruler(ruler_win);
}
redraw_cmdline = false;
diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c
index 5a1f7e3a7f..e809922be3 100644
--- a/src/nvim/statusline.c
+++ b/src/nvim/statusline.c
@@ -497,7 +497,8 @@ void win_redr_ruler(win_T *wp)
// Don't draw the ruler while doing insert-completion, it might overwrite
// the (long) mode message.
- if (wp == lastwin && lastwin->w_status_height == 0 && !is_stl_global) {
+ win_T *ruler_win = curwin->w_status_height == 0 ? curwin : lastwin_nofloating();
+ if (wp == ruler_win && ruler_win->w_status_height == 0 && !is_stl_global) {
if (edit_submode != NULL) {
return;
}
@@ -510,7 +511,7 @@ void win_redr_ruler(win_T *wp)
// Check if not in Insert mode and the line is empty (will show "0-1").
int empty_line = (State & MODE_INSERT) == 0
- && *ml_get_buf(curwin->w_buffer, curwin->w_cursor.lnum, false) == NUL;
+ && *ml_get_buf(wp->w_buffer, wp->w_cursor.lnum, false) == NUL;
int width;
int row;