From 546b294e74ac10d0a5e1216dd530fc96bdc66f29 Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Fri, 14 Oct 2022 11:49:57 +0100 Subject: fix(decoration): redraw correctly when re-using ids 00cfc1d (from #20249) reduced the amount of unnecessary redraws. This surfaced an issue where if and extmark with a specific ID is repositioned to a different row, the decorations from the old row were not redrawn and removed. This change fixes that by redrawing the old row. --- src/nvim/extmark.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/nvim/extmark.c b/src/nvim/extmark.c index 176ad0d5c8..df87cc8ab6 100644 --- a/src/nvim/extmark.c +++ b/src/nvim/extmark.c @@ -112,6 +112,7 @@ void extmark_set(buf_T *buf, uint32_t ns_id, uint32_t *idp, int row, colnr_T col marktree_revise(buf->b_marktree, itr, decor_level, old_mark); goto revised; } + decor_remove(buf, old_mark.pos.row, old_mark.pos.row, old_mark.decor_full); marktree_del_itr(buf->b_marktree, itr, false); } } else { -- cgit