summaryrefslogtreecommitdiffstats
path: root/src/screen.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-11-26 22:39:10 +0100
committerBram Moolenaar <Bram@vim.org>2019-11-26 22:39:10 +0100
commit92e25ab2df03756bbb8523cf871db29fe8819c13 (patch)
tree8a0b492d49d656c356bf7ecc252c098aef489f44 /src/screen.c
parent0c0734d527a132edfb4089be48486586424b3f41 (diff)
patch 8.1.2351: 'wincolor' not used for > for not fitting double width charv8.1.2351
Problem: 'wincolor' not used for > for not fitting double width char. Also: popup drawn on right half of double width character looks wrong. Solution: Adjust color for > character. Clear left half of double width character if right half is being overwritten.
Diffstat (limited to 'src/screen.c')
-rw-r--r--src/screen.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c
index c0f7d494bc..763d7a82fe 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -460,6 +460,18 @@ screen_line(
}
#endif /* FEAT_RIGHTLEFT */
+#ifdef FEAT_TEXT_PROP
+ // First char of a popup window may go on top of the right half of a
+ // double-wide character. Clear the left half to avoid it getting the popup
+ // window background color.
+ if (coloff > 0 && ScreenLines[off_to] == 0)
+ {
+ ScreenLines[off_to - 1] = ' ';
+ ScreenLinesUC[off_to - 1] = 0;
+ screen_char(off_to - 1, row, col + coloff - 1);
+ }
+#endif
+
redraw_next = char_needs_redraw(off_from, off_to, endcol - col);
while (col < endcol)