summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2010-07-19 18:56:18 +0000
committerjkim <jkim@FreeBSD.org>2010-07-19 18:56:18 +0000
commit08397bfd61943e5715d578fd3dda33c12d6c3ba7 (patch)
tree6e2d48b34c910a5727dddd7fc0f214c2ea80be4f /sys/dev/syscons
parent287c5fdf9552c6c6ab2c9e76280f559d28d7ec4f (diff)
downloadFreeBSD-src-08397bfd61943e5715d578fd3dda33c12d6c3ba7.zip
FreeBSD-src-08397bfd61943e5715d578fd3dda33c12d6c3ba7.tar.gz
Fix two long-standing line wrapping bugs in VGA renderer for pixel mode.
Font size may be smaller than 16 and logical scan line may be larger than the displayed scan line. MFC after: 3 days
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/scvgarndr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/syscons/scvgarndr.c b/sys/dev/syscons/scvgarndr.c
index dbee6f2..50e3e62 100644
--- a/sys/dev/syscons/scvgarndr.c
+++ b/sys/dev/syscons/scvgarndr.c
@@ -766,8 +766,9 @@ vga_vgadraw_direct(scr_stat *scp, int from, int count, int flip)
d += 8 * pixel_size;
if ((i % scp->xsize) == scp->xsize - 1)
- d += scp->xoff * 16 * pixel_size +
- (scp->font_size - 1) * line_width;
+ d += scp->xoff * scp->font_size * pixel_size +
+ scp->font_size * line_width -
+ scp->xpixel * pixel_size;
}
}
OpenPOWER on IntegriCloud