Commit: patch 9.1.0358: wrong drawing in GUI with setcellwidth()

6 views
Skip to first unread message

Christian Brabandt

unread,
Apr 20, 2024, 12:15:10 PM4/20/24
to vim...@googlegroups.com
patch 9.1.0358: wrong drawing in GUI with setcellwidth()

Commit: https://github.com/vim/vim/commit/8927c9b720135610a1193999d29be76927b05ab3
Author: h-east <h.eas...@gmail.com>
Date: Sat Apr 20 17:57:19 2024 +0200

patch 9.1.0358: wrong drawing in GUI with setcellwidth()

Problem: wrong drawing in GUI with setcellwidth()
(after v9.1.0344)
Solution: move gui.in_use condition (h-east)

closes: #14600

Signed-off-by: h-east <h.eas...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/screen.c b/src/screen.c
index a8b4559b1..35d300213 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -1981,22 +1981,19 @@ screen_char(unsigned off, int row, int col)
{
char_u buf[MB_MAXBYTES + 1];

- if (get_cellwidth(ScreenLinesUC[off]) > 1)
- {
- // If the width is set to 2 with `setcellwidths`
-
+ if (
#ifdef FEAT_GUI
- if (!gui.in_use)
- {
-#endif
- // Clear the two screen cells. If the character is actually
- // single width it won't change the second cell.
- out_str((char_u *)" ");
- term_windgoto(row, col);
- screen_cur_col = 9999;
-#ifdef FEAT_GUI
- }
+ !gui.in_use &&
#endif
+ get_cellwidth(ScreenLinesUC[off]) > 1
+ )
+ {
+ // If the width is set to 2 with setcellwidths()
+ // clear the two screen cells. If the character is actually
+ // single width it won't change the second cell.
+ out_str((char_u *)" ");
+ term_windgoto(row, col);
+ screen_cur_col = 9999;
}
else if (utf_ambiguous_width(ScreenLinesUC[off]))
{
diff --git a/src/version.c b/src/version.c
index 93798aa02..ee3406315 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 358,
/**/
357,
/**/
Reply all
Reply to author
Forward
0 new messages