Mercurial > vim
diff src/screen.c @ 35010:664bc783e05d v9.1.0358
patch 9.1.0358: wrong drawing in GUI with setcellwidth()
Commit: https://github.com/vim/vim/commit/8927c9b720135610a1193999d29be76927b05ab3
Author: h-east <h.east.727@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.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 20 Apr 2024 18:15:02 +0200 |
parents | 74f789d0adb1 |
children |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -1981,22 +1981,19 @@ screen_char(unsigned off, int row, int c { 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) - { + !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 - } -#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])) {