diff options
author | yokota <yokota@FreeBSD.org> | 1998-11-03 02:37:46 +0000 |
---|---|---|
committer | yokota <yokota@FreeBSD.org> | 1998-11-03 02:37:46 +0000 |
commit | bea6b236e28d2a7af41d36e3307937621a076b53 (patch) | |
tree | 0be26765ee203b86a30e4e75c387b637d1f50e72 /sys/dev | |
parent | e79304233b8444f43db31f1414e3cd2a1ea95587 (diff) | |
download | FreeBSD-src-bea6b236e28d2a7af41d36e3307937621a076b53.zip FreeBSD-src-bea6b236e28d2a7af41d36e3307937621a076b53.tar.gz |
Don't update the screen while the cursor shape is being changed
by the user-land program.
PR: i386/8344
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/syscons/syscons.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index caf072a..d4178e8 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: syscons.c,v 1.284 1998/10/01 21:04:52 ache Exp $ + * $Id: syscons.c,v 1.285 1998/10/22 05:58:40 bde Exp $ */ #include "sc.h" @@ -978,10 +978,12 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p) * are affected. Update the cursor in the current console... */ if (!ISGRAPHSC(cur_console)) { + s = spltty(); remove_cursor_image(cur_console); if (sc_flags & CHAR_CURSOR) set_destructive_cursor(cur_console); draw_cursor_image(cur_console); + splx(s); } return 0; @@ -2820,10 +2822,12 @@ scan_esc(scr_stat *scp, u_char c) * are affected. Update the cursor in the current console... */ if (!ISGRAPHSC(cur_console)) { + i = spltty(); remove_cursor_image(cur_console); if (sc_flags & CHAR_CURSOR) set_destructive_cursor(cur_console); draw_cursor_image(cur_console); + splx(i); } break; |