diff --git a/src/renderer/Metal.zig b/src/renderer/Metal.zig index 788bcb567..5e282675e 100644 --- a/src/renderer/Metal.zig +++ b/src/renderer/Metal.zig @@ -1023,11 +1023,13 @@ pub fn updateCell( null, ); + const color = if (cell.attrs.underline_color) cell.underline_fg else colors.fg; + self.cells.appendAssumeCapacity(.{ .mode = .fg, .grid_pos = .{ @intToFloat(f32, x), @intToFloat(f32, y) }, .cell_width = cell.widthLegacy(), - .color = .{ colors.fg.r, colors.fg.g, colors.fg.b, alpha }, + .color = .{ color.r, color.g, color.b, alpha }, .glyph_pos = .{ glyph.atlas_x, glyph.atlas_y }, .glyph_size = .{ glyph.width, glyph.height }, .glyph_offset = .{ glyph.offset_x, glyph.offset_y }, diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index df58137a7..91c1c8346 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -1181,6 +1181,9 @@ pub fn updateCell( @enumToInt(sprite), null, ); + + const color = if (cell.attrs.underline_color) cell.underline_fg else colors.fg; + self.cells.appendAssumeCapacity(.{ .mode = .fg, .grid_col = @intCast(u16, x), @@ -1192,9 +1195,9 @@ pub fn updateCell( .glyph_height = underline_glyph.height, .glyph_offset_x = underline_glyph.offset_x, .glyph_offset_y = underline_glyph.offset_y, - .fg_r = colors.fg.r, - .fg_g = colors.fg.g, - .fg_b = colors.fg.b, + .fg_r = color.r, + .fg_g = color.g, + .fg_b = color.b, .fg_a = alpha, .bg_r = 0, .bg_g = 0,