diff options
author | jkim <jkim@FreeBSD.org> | 2010-07-19 18:56:18 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-07-19 18:56:18 +0000 |
commit | 08397bfd61943e5715d578fd3dda33c12d6c3ba7 (patch) | |
tree | 6e2d48b34c910a5727dddd7fc0f214c2ea80be4f /sys/dev | |
parent | 287c5fdf9552c6c6ab2c9e76280f559d28d7ec4f (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/syscons/scvgarndr.c | 5 |
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; } } |