diff options
author | ache <ache@FreeBSD.org> | 2001-03-06 00:02:47 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2001-03-06 00:02:47 +0000 |
commit | bb95dfa4d1fff206df59ab1a579af000d253a831 (patch) | |
tree | d24ffcb63dec8dbaee966740467951258d73a21e /sys/dev | |
parent | 72b9c05ef5a2034426dc7e5ad2c5a250b2b72b35 (diff) | |
download | FreeBSD-src-bb95dfa4d1fff206df59ab1a579af000d253a831.zip FreeBSD-src-bb95dfa4d1fff206df59ab1a579af000d253a831.tar.gz |
Fix longstanding mouse cursor bug: blinking and eating all CPU while near text
cursor.
The reason is: mouse cursor goes into hide/visible loop while text cursor even
not moved.
PR: 25536
Submitted by: David Xu <davidx@viasoft.com.cn>
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/syscons/syscons.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 84f1cbe..452c8e0 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -1725,6 +1725,7 @@ scrn_update(scr_stat *scp, int show_cursor) if ((scp->status & (MOUSE_MOVED | MOUSE_HIDDEN)) || and_region(&s, &e, scp->start, scp->end) || ((scp->status & CURSOR_ENABLED) && + (scp->cursor_pos != scp->cursor_oldpos) && (and_region(&s, &e, scp->cursor_pos, scp->cursor_pos) || and_region(&s, &e, scp->cursor_oldpos, scp->cursor_oldpos)))) { sc_remove_mouse_image(scp); |