aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/drawline.c
diff options
context:
space:
mode:
authorJaehwang Jung <tomtomjhj@gmail.com>2024-04-10 21:18:14 +0900
committerGitHub <noreply@github.com>2024-04-10 20:18:14 +0800
commit889f81c65fa4318ab0fba391904dc43e5633b13e (patch)
tree10802b6ad359e6e9422ef5a6d88af0d53f29dedc /src/nvim/drawline.c
parent1dacf2ecee36e2abd490df2ad5f9c24fa73205b7 (diff)
downloadrneovim-889f81c65fa4318ab0fba391904dc43e5633b13e.tar.gz
rneovim-889f81c65fa4318ab0fba391904dc43e5633b13e.tar.bz2
rneovim-889f81c65fa4318ab0fba391904dc43e5633b13e.zip
fix(drawline): don't invoke on_line for filler line (#28219)
Problem: Decoration provider `on_line` handler is invoked for diff filler line below the last buffer line. This does not match the documentation: "called for each buffer line". Solution: Check `end_fill`.
Diffstat (limited to 'src/nvim/drawline.c')
-rw-r--r--src/nvim/drawline.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c
index 869fcdf7c0..283f7d9d61 100644
--- a/src/nvim/drawline.c
+++ b/src/nvim/drawline.c
@@ -1030,7 +1030,9 @@ int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow, int col_rows, s
has_decor = decor_redraw_line(wp, lnum - 1, &decor_state);
- decor_providers_invoke_line(wp, lnum - 1, &has_decor);
+ if (!end_fill) {
+ decor_providers_invoke_line(wp, lnum - 1, &has_decor);
+ }
if (has_decor) {
extra_check = true;