aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-02-06 18:05:06 +0800
committerGitHub <noreply@github.com>2024-02-06 18:05:06 +0800
commita945a31e768f9dfb09ff455229ed2c70b5ea6cf6 (patch)
tree0c5667140bc3ca054e35405b1b88de3b5d6f620b
parentd6fac187f1dee41bb0d6161c160f5fb5842b59b7 (diff)
downloadrneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.tar.gz
rneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.tar.bz2
rneovim-a945a31e768f9dfb09ff455229ed2c70b5ea6cf6.zip
vim-patch:9.1.0077: Unnecessary call to redraw_for_cursorline() in nv_mousescroll() (#27359)
Problem: The call to redraw_for_cursorline() in nv_mousescroll() is unnecessary because redraw_for_cursorline() only sets redraw type to UPD_VALID, and all code paths in do_mousescroll() already set redraw type to at least UPD_VALID. Solution: Remove call to redraw_for_cursorline() in nv_mousescroll(). (zeertzjq) closes: vim/vim#13979 https://github.com/vim/vim/commit/3f1b5312e0fa0089f255bf9c0c3b27590552119e
-rw-r--r--src/nvim/drawscreen.c12
-rw-r--r--src/nvim/mouse.c3
-rw-r--r--src/nvim/move.c12
3 files changed, 12 insertions, 15 deletions
diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c
index b0c97f5be3..5c33eb745b 100644
--- a/src/nvim/drawscreen.c
+++ b/src/nvim/drawscreen.c
@@ -2864,15 +2864,3 @@ bool win_cursorline_standout(const win_T *wp)
{
return wp->w_p_cul || (wp->w_p_cole > 0 && !conceal_cursor_line(wp));
}
-
-/// Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is set.
-/// Also when concealing is on and 'concealcursor' is not active.
-void redraw_for_cursorline(win_T *wp)
- FUNC_ATTR_NONNULL_ALL
-{
- if ((wp->w_valid & VALID_CROW) == 0 && !pum_visible()
- && (wp->w_p_rnu || win_cursorline_standout(wp))) {
- // win_line() will redraw the number column and cursorline only.
- redraw_later(wp, UPD_VALID);
- }
-}
diff --git a/src/nvim/mouse.c b/src/nvim/mouse.c
index c0a928416d..4dbe31a07f 100644
--- a/src/nvim/mouse.c
+++ b/src/nvim/mouse.c
@@ -1571,9 +1571,6 @@ void nv_mousescroll(cmdarg_T *cap)
// Call the common mouse scroll function shared with other modes.
do_mousescroll(cap);
- if (curwin != old_curwin && curwin->w_p_cul) {
- redraw_for_cursorline(curwin);
- }
curwin->w_redr_status = true;
curwin = old_curwin;
curbuf = curwin->w_buffer;
diff --git a/src/nvim/move.c b/src/nvim/move.c
index 1402b03f6d..1cf6e52ec8 100644
--- a/src/nvim/move.c
+++ b/src/nvim/move.c
@@ -135,6 +135,18 @@ static void comp_botline(win_T *wp)
win_check_anchored_floats(wp);
}
+/// Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is set.
+/// Also when concealing is on and 'concealcursor' is not active.
+static void redraw_for_cursorline(win_T *wp)
+ FUNC_ATTR_NONNULL_ALL
+{
+ if ((wp->w_valid & VALID_CROW) == 0 && !pum_visible()
+ && (wp->w_p_rnu || win_cursorline_standout(wp))) {
+ // win_line() will redraw the number column and cursorline only.
+ redraw_later(wp, UPD_VALID);
+ }
+}
+
/// Redraw when w_virtcol changes and
/// - 'cursorcolumn' is set, or
/// - 'cursorlineopt' contains "screenline", or