From 23e967f71ef27d590a051bb2acb862d0453d8ad1 Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 12 Mar 2001 01:15:11 +0000 Subject: [PATCH] Don't require that mouse cursor must be visible before mouse paste. Paste always happens to current _text_ cursor position independently of mouse cursor position in any case and old variant force user to press mouse paste button _two_ times if mouse cursor is invisible. --- sys/dev/syscons/scmouse.c | 3 +-- sys/dev/syscons/syscons.c | 19 ++++++------------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/sys/dev/syscons/scmouse.c b/sys/dev/syscons/scmouse.c index 5830cfb6c74c..dd1e2c5713fa 100644 --- a/sys/dev/syscons/scmouse.c +++ b/sys/dev/syscons/scmouse.c @@ -591,8 +591,7 @@ mouse_cut_extend(scr_stat *scp) void sc_mouse_paste(scr_stat *scp) { - if (scp->status & MOUSE_VISIBLE) - sc_paste(scp, cut_buffer, strlen(cut_buffer)); + sc_paste(scp, cut_buffer, strlen(cut_buffer)); } #endif /* SC_NO_CUTPASTE */ diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 7742dc65240a..af7fd9484042 100644 --- a/sys/dev/syscons/syscons.c +++ b/sys/dev/syscons/syscons.c @@ -3068,12 +3068,7 @@ scgetc(sc_softc_t *sc, u_int flags) case PASTE: #ifndef SC_NO_CUTPASTE - /* XXX need to set MOUSE_VISIBLE flag 'cause sc_mouse_paste() */ - /* and sc_paste() will not operate without it. */ - i = scp->status; - scp->status |= MOUSE_VISIBLE; sc_mouse_paste(scp); - scp->status = i; #endif break; @@ -3367,14 +3362,12 @@ sc_paste(scr_stat *scp, u_char *p, int count) struct tty *tp; u_char *rmap; - if (scp->status & MOUSE_VISIBLE) { - tp = VIRTUAL_TTY(scp->sc, scp->sc->cur_scp->index); - if (!(tp->t_state & TS_ISOPEN)) - return; - rmap = scp->sc->scr_rmap; - for (; count > 0; --count) - (*linesw[tp->t_line].l_rint)(rmap[*p++], tp); - } + tp = VIRTUAL_TTY(scp->sc, scp->sc->cur_scp->index); + if (!(tp->t_state & TS_ISOPEN)) + return; + rmap = scp->sc->scr_rmap; + for (; count > 0; --count) + (*linesw[tp->t_line].l_rint)(rmap[*p++], tp); } void