From owner-freebsd-questions Sun Mar 4 4:48:56 2001 Delivered-To: freebsd-questions@freebsd.org Received: from web1704.mail.yahoo.com (web1704.mail.yahoo.com [128.11.23.215]) by hub.freebsd.org (Postfix) with SMTP id B4ADE37B718 for ; Sun, 4 Mar 2001 04:48:49 -0800 (PST) (envelope-from websoft@yahoo.com) Received: (qmail 10753 invoked by uid 60001); 4 Mar 2001 12:48:49 -0000 Message-ID: <20010304124849.10752.qmail@web1704.mail.yahoo.com> Received: from [210.74.232.43] by web1704.mail.yahoo.com; Sun, 04 Mar 2001 04:48:49 PST Date: Sun, 4 Mar 2001 04:48:49 -0800 (PST) From: Yifeng Xu Subject: **HEADS UP** bug fix for pr25439 (patch) To: freebsd-questions@freebsd.org Cc: ache@nagual.pp.ru, freebsd-bugs@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hi, I am sorry it seems my SMTP server has problems, so I send it via Yahoo! you may received my several previous sents. I think I found the bug about annoying console mouse cursor flicker problem reported in http://www.freebsd.org/cgi/query-pr.cgi?pr=25439 by me sometimes ago, the bug is in file /sys/dev/syscons/syscons.c where function scrn_update will hide and redraw mouse cursor in a special area: .......................... .......................... .......................... .......................... .......................... .......................... ..XXXXXXXXXXXXXXXXXXXXXXXX XX@....................... .......................... the above image represents a full image of console screen, every line represents a line on screen, char @ represents TEXT CURSOR position, area marked with 'X' is an unsafe area, if mouse cursor is moved into this area, syscons will become weird, mouse cursor flickers in very fast speed, eats CPU time up to 20%. the following is a patch to fix this problem. I wish the bug is fixed before FreeBSD 4.3 rolls out. this is a long standing bug. hurray! =============== --- syscons.c.orig Sun Mar 4 16:18:59 2001 +++ syscons.c Sun Mar 4 16:22:33 2001 @@ -1719,12 +1719,9 @@ /* remove the previous mouse pointer image if necessary */ if (scp->status & MOUSE_VISIBLE) { s = scp->mouse_pos; - e = scp->mouse_pos + scp->xsize + 1; + e = scp->mouse_pos; if ((scp->status & (MOUSE_MOVED | MOUSE_HIDDEN)) - || and_region(&s, &e, scp->start, scp->end) - || ((scp->status & CURSOR_ENABLED) && - (and_region(&s, &e, scp->cursor_pos, scp->cursor_pos) - || and_region(&s, &e, scp->cursor_oldpos, scp->cursor_oldpos)))) { + || and_region(&s, &e, scp->start, scp->end)) { sc_remove_mouse_image(scp); if (scp->end >= scp->xsize*scp->ysize) scp->end = scp->xsize*scp->ysize - 1; =============== David Xu davidx@viasoft.com.cn __________________________________________________ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message