diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-11-26 22:39:10 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-11-26 22:39:10 +0100 |
commit | 92e25ab2df03756bbb8523cf871db29fe8819c13 (patch) | |
tree | 8a0b492d49d656c356bf7ecc252c098aef489f44 /src/screen.c | |
parent | 0c0734d527a132edfb4089be48486586424b3f41 (diff) | |
download | vim-git-92e25ab2df03756bbb8523cf871db29fe8819c13.tar.gz |
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.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c index c0f7d494b..763d7a82f 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) |