diff options
author | ache <ache@FreeBSD.org> | 2001-04-21 14:11:48 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2001-04-21 14:11:48 +0000 |
commit | f6092596c06b8cbd930f1190ee8c6217f590a136 (patch) | |
tree | 50f759fcee02274e96a167cfd5e2ffce12aeae75 /sys/dev/syscons/scmouse.c | |
parent | 13e20daa1e86a85cd9da421607d102ae9e43c896 (diff) | |
download | FreeBSD-src-f6092596c06b8cbd930f1190ee8c6217f590a136.zip FreeBSD-src-f6092596c06b8cbd930f1190ee8c6217f590a136.tar.gz |
Upper limit of mousechar start is UCHAR_MAX - 3, not UCHAR_MAX - 4
Restore original characters when mousechar start changes, not always 0-3
PR: 24437
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
Diffstat (limited to 'sys/dev/syscons/scmouse.c')
-rw-r--r-- | sys/dev/syscons/scmouse.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/syscons/scmouse.c b/sys/dev/syscons/scmouse.c index 6e8f0a5..fab57da 100644 --- a/sys/dev/syscons/scmouse.c +++ b/sys/dev/syscons/scmouse.c @@ -876,13 +876,15 @@ sc_mouse_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, if (mouse->u.mouse_char < 0) { mouse->u.mouse_char = scp->sc->mouse_char; } else { - if (mouse->u.mouse_char >= UCHAR_MAX - 4) + if (mouse->u.mouse_char > UCHAR_MAX - 3) return EINVAL; s = spltty(); sc_remove_all_mouse(scp->sc); #ifndef SC_NO_FONT_LOADING if (ISTEXTSC(cur_scp) && (cur_scp->font != NULL)) - sc_load_font(cur_scp, 0, cur_scp->font_size, cur_scp->font, + sc_load_font(cur_scp, 0, cur_scp->font_size, + cur_scp->font + cur_scp->font_size + * cur_scp->sc->mouse_char, cur_scp->sc->mouse_char, 4); #endif scp->sc->mouse_char = mouse->u.mouse_char; |