diff options
author | Jaehwang Jung <tomtomjhj@gmail.com> | 2024-01-02 19:55:02 +0900 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2024-01-04 11:37:00 +0000 |
commit | 444f37fe510f4c28c59bade40d7ba152a5ee8f7c (patch) | |
tree | 73e878689d2eeb3755f6a71baa679fc9bf89c26a | |
parent | dc48a98f9ac614dc94739637c967aa29e064807e (diff) | |
download | rneovim-444f37fe510f4c28c59bade40d7ba152a5ee8f7c.tar.gz rneovim-444f37fe510f4c28c59bade40d7ba152a5ee8f7c.tar.bz2 rneovim-444f37fe510f4c28c59bade40d7ba152a5ee8f7c.zip |
fix(decorations): incompletely displayed line should also get decorations
-rw-r--r-- | src/nvim/decoration_provider.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/nvim/decoration_provider.c b/src/nvim/decoration_provider.c index 9bb499fe4b..4b82ae257c 100644 --- a/src/nvim/decoration_provider.c +++ b/src/nvim/decoration_provider.c @@ -125,6 +125,7 @@ void decor_providers_invoke_win(win_T *wp) if (kv_size(decor_providers) > 0) { validate_botline(wp); } + linenr_T botline = MIN(wp->w_botline, wp->w_buffer->b_ml.ml_line_count); for (size_t i = 0; i < kv_size(decor_providers); i++) { DecorProvider *p = &kv_A(decor_providers, i); @@ -138,7 +139,7 @@ void decor_providers_invoke_win(win_T *wp) ADD_C(args, BUFFER_OBJ(wp->w_buffer->handle)); // TODO(bfredl): we are not using this, but should be first drawn line? ADD_C(args, INTEGER_OBJ(wp->w_topline - 1)); - ADD_C(args, INTEGER_OBJ(wp->w_botline - 1 - 1)); + ADD_C(args, INTEGER_OBJ(botline - 1)); if (!decor_provider_invoke((int)i, "win", p->redraw_win, args, true)) { kv_A(decor_providers, i).state = kDecorProviderWinDisabled; } |