diff src/drawline.c @ 29722:f88671dbe88b v9.0.0201

patch 9.0.0201: CursorLine highlight overrules virtual text highlight Commit: https://github.com/vim/vim/commit/9113c2cd19c72c0973ee5dc095a0a7f03f2af344 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 13 20:17:34 2022 +0100 patch 9.0.0201: CursorLine highlight overrules virtual text highlight Problem: CursorLine highlight overrules virtual text highlight. Solution: Let extra attribute overrule line attribute. (closes https://github.com/vim/vim/issues/10909)
author Bram Moolenaar <Bram@vim.org>
date Sat, 13 Aug 2022 21:30:03 +0200
parents a680dc1b089d
children 65348cc3b656
line wrap: on
line diff
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1638,7 +1638,8 @@ win_line(
 						       & TP_FLAG_ALIGN_BELOW)))
 			      : bcol >= text_props[text_prop_next].tp_col - 1))
 		{
-		    if (bcol <= text_props[text_prop_next].tp_col - 1
+		    if (text_props[text_prop_next].tp_col == MAXCOL
+			    || bcol <= text_props[text_prop_next].tp_col - 1
 					   + text_props[text_prop_next].tp_len)
 			text_prop_idxs[text_props_active++] = text_prop_next;
 		    ++text_prop_next;
@@ -2989,7 +2990,7 @@ win_line(
 	{
 #ifdef LINE_ATTR
 	    if (line_attr)
-		wlv.char_attr = hl_combine_attr(extra_attr, line_attr);
+		wlv.char_attr = hl_combine_attr(line_attr, extra_attr);
 	    else
 #endif
 		wlv.char_attr = extra_attr;