diff options
author | sos <sos@FreeBSD.org> | 1996-06-21 11:31:09 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 1996-06-21 11:31:09 +0000 |
commit | f27aeea6578825325130a56a2921543a9b24c88a (patch) | |
tree | e49998117b063670339b214b637d42ac1c72c3a3 /sys | |
parent | 4bd1b9c864f4148e0b6e2b7796622e7a10c6057c (diff) | |
download | FreeBSD-src-f27aeea6578825325130a56a2921543a9b24c88a.zip FreeBSD-src-f27aeea6578825325130a56a2921543a9b24c88a.tar.gz |
Oops, fix a bug that caused updates to the screen to happen, without
anything actually changed, in this case the mousepointer logic.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/syscons/syscons.c | 8 | ||||
-rw-r--r-- | sys/i386/isa/syscons.c | 8 | ||||
-rw-r--r-- | sys/isa/syscons.c | 8 |
3 files changed, 18 insertions, 6 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 934d86a..d32458b 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.151 1996/06/17 17:21:35 wpaul Exp $ + * $Id: syscons.c,v 1.152 1996/06/21 07:19:17 sos Exp $ */ #include "sc.h" @@ -1389,6 +1389,7 @@ static void scrn_timer() { static int cursor_blinkrate; + static ushort *last_mouse_pos = NULL; scr_stat *scp = cur_console; /* should we just return ? */ @@ -1405,10 +1406,13 @@ scrn_timer() scp->status &= ~CURSOR_SHOWN; scp->start = scp->xsize * scp->ysize; scp->end = 0; + last_mouse_pos = NULL; } /* update "pseudo" mouse arrow */ - if (scp->status & MOUSE_ENABLED) + if (scp->mouse_pos != last_mouse_pos && (scp->status & MOUSE_ENABLED)) { + last_mouse_pos = scp->mouse_pos; draw_mouse_image(scp); + } /* update cursor image */ if (scp->status & CURSOR_ENABLED) diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c index 934d86a..d32458b 100644 --- a/sys/i386/isa/syscons.c +++ b/sys/i386/isa/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.151 1996/06/17 17:21:35 wpaul Exp $ + * $Id: syscons.c,v 1.152 1996/06/21 07:19:17 sos Exp $ */ #include "sc.h" @@ -1389,6 +1389,7 @@ static void scrn_timer() { static int cursor_blinkrate; + static ushort *last_mouse_pos = NULL; scr_stat *scp = cur_console; /* should we just return ? */ @@ -1405,10 +1406,13 @@ scrn_timer() scp->status &= ~CURSOR_SHOWN; scp->start = scp->xsize * scp->ysize; scp->end = 0; + last_mouse_pos = NULL; } /* update "pseudo" mouse arrow */ - if (scp->status & MOUSE_ENABLED) + if (scp->mouse_pos != last_mouse_pos && (scp->status & MOUSE_ENABLED)) { + last_mouse_pos = scp->mouse_pos; draw_mouse_image(scp); + } /* update cursor image */ if (scp->status & CURSOR_ENABLED) diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c index 934d86a..d32458b 100644 --- a/sys/isa/syscons.c +++ b/sys/isa/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.151 1996/06/17 17:21:35 wpaul Exp $ + * $Id: syscons.c,v 1.152 1996/06/21 07:19:17 sos Exp $ */ #include "sc.h" @@ -1389,6 +1389,7 @@ static void scrn_timer() { static int cursor_blinkrate; + static ushort *last_mouse_pos = NULL; scr_stat *scp = cur_console; /* should we just return ? */ @@ -1405,10 +1406,13 @@ scrn_timer() scp->status &= ~CURSOR_SHOWN; scp->start = scp->xsize * scp->ysize; scp->end = 0; + last_mouse_pos = NULL; } /* update "pseudo" mouse arrow */ - if (scp->status & MOUSE_ENABLED) + if (scp->mouse_pos != last_mouse_pos && (scp->status & MOUSE_ENABLED)) { + last_mouse_pos = scp->mouse_pos; draw_mouse_image(scp); + } /* update cursor image */ if (scp->status & CURSOR_ENABLED) |