Skip to content

Commit 6dea0a8

Browse files
authored
Merge pull request #656 from ichizok/fix/tui-screen
Fix drawing screen in the case of TUI
2 parents 2288b39 + 994f163 commit 6dea0a8

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

src/screen.c

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6166,9 +6166,11 @@ screen_line(
61666166
hl = ScreenAttrs[off_to + CHAR_CELLS];
61676167
if (hl > HL_ALL)
61686168
hl = syn_attr2attr(hl);
6169-
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6170-
if (hl & HL_BOLD)
6169+
if ((hl & HL_BOLD)
6170+
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6171+
|| gui.in_use
61716172
# endif
6173+
)
61726174
redraw_this = TRUE;
61736175
}
61746176
#endif
@@ -6299,9 +6301,11 @@ screen_line(
62996301
hl = ScreenAttrs[off_to];
63006302
if (hl > HL_ALL)
63016303
hl = syn_attr2attr(hl);
6302-
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6303-
if (hl & HL_BOLD)
6304+
if ((hl & HL_BOLD)
6305+
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6306+
|| gui.in_use
63046307
# endif
6308+
)
63056309
redraw_next = TRUE;
63066310
}
63076311
#endif
@@ -6387,9 +6391,11 @@ screen_line(
63876391
if (gui.in_use && (col > startCol || !redraw_this))
63886392
{
63896393
hl = ScreenAttrs[off_to];
6390-
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6391-
if (hl > HL_ALL || (hl & HL_BOLD))
6394+
if (hl > HL_ALL || (hl & HL_BOLD)
6395+
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
6396+
|| gui.in_use
63926397
# endif
6398+
)
63936399
{
63946400
int prev_cells = 1;
63956401
# ifdef FEAT_MBYTE
@@ -7591,9 +7597,11 @@ screen_puts_len(
75917597

75927598
if (n > HL_ALL)
75937599
n = syn_attr2attr(n);
7594-
# ifndef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
7595-
if (n & HL_BOLD)
7600+
if ((n & HL_BOLD)
7601+
# ifdef FEAT_GUI_MACVIM /* see comment on subpixel antialiasing */
7602+
|| gui.in_use
75967603
# endif
7604+
)
75977605
force_redraw_next = TRUE;
75987606
}
75997607
#endif
@@ -8673,21 +8681,22 @@ screen_fill(
86738681
# endif
86748682
)
86758683
{
8676-
# ifndef FEAT_GUI_MACVIM
8677-
if (ScreenLines[off] != ' '
8678-
&& (ScreenAttrs[off] > HL_ALL
8679-
|| ScreenAttrs[off] & HL_BOLD))
8680-
force_next = TRUE;
8681-
else
8682-
force_next = FALSE;
8683-
# else
8684+
# ifdef FEAT_GUI_MACVIM
86848685
/* Mac OS X does subpixel antialiasing which often causes a
86858686
* glyph to spill over into neighboring cells. For this
86868687
* reason we always clear the neighboring glyphs whenever a
86878688
* glyph is cleared, just like other GUIs cope with the
86888689
* bold trick. */
8689-
force_next = (ScreenLines[off] != ' ');
8690+
if (gui.in_use)
8691+
force_next = (ScreenLines[off] != ' ');
8692+
else
86908693
# endif
8694+
if (ScreenLines[off] != ' '
8695+
&& (ScreenAttrs[off] > HL_ALL
8696+
|| ScreenAttrs[off] & HL_BOLD))
8697+
force_next = TRUE;
8698+
else
8699+
force_next = FALSE;
86918700
}
86928701
#endif
86938702
ScreenLines[off] = c;

0 commit comments

Comments
 (0)