summaryrefslogtreecommitdiffstats
path: root/src/drawline.c
diff options
context:
space:
mode:
authorChristian Brabandt <cb@256bit.org>2023-08-19 22:36:12 +0200
committerChristian Brabandt <cb@256bit.org>2023-08-19 22:36:12 +0200
commite1eaae27f4f2d2522e45397756f3bca42be50988 (patch)
treed52fdb0ae5c1bae7b8174374cfe5c43989c6a022 /src/drawline.c
parent25dec33c9bd286eacd1767ce2f5324117132b33a (diff)
patch 9.0.1756: failing cursorline sign testv9.0.1756
Problem: failing cursorline sign test Solution: only reset char attr, if cursorline option is not set Unfortunately, commit dbeadf05b6a152e7d9c5cc23d9202057f8e99884 causes a failure with the sign test Test_sign_cursor_position() The root cause is, that resetting the character attribute will also reset the existing cursor line highlighting and this breaks the test, that expects the cursor line highlighting to overrule the sign line highlighting. So change the condition to reset the character attribute by making sure that this only happens, if the 'cursorline' option is not active and the cursor is not at the same line as the line to be drawn closes: #12854 closes: #12859 Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/drawline.c')
-rw-r--r--src/drawline.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/drawline.c b/src/drawline.c
index e3084d4c57..0be071876f 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -3343,7 +3343,9 @@ win_line(
wlv.char_attr = wlv.line_attr;
#ifdef FEAT_SIGNS
// At end of line: if Sign is present with line highlight, reset char_attr
- if (sign_present && wlv.sattr.sat_linehl > 0 && wlv.draw_state == WL_LINE)
+ // but not when cursorline is active
+ if (sign_present && wlv.sattr.sat_linehl > 0 && wlv.draw_state == WL_LINE
+ && !(wp->w_p_cul && lnum == wp->w_cursor.lnum))
wlv.char_attr = wlv.sattr.sat_linehl;
#endif
# ifdef FEAT_DIFF