summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>1996-06-21 11:31:09 +0000
committersos <sos@FreeBSD.org>1996-06-21 11:31:09 +0000
commitf27aeea6578825325130a56a2921543a9b24c88a (patch)
treee49998117b063670339b214b637d42ac1c72c3a3 /sys
parent4bd1b9c864f4148e0b6e2b7796622e7a10c6057c (diff)
downloadFreeBSD-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.c8
-rw-r--r--sys/i386/isa/syscons.c8
-rw-r--r--sys/isa/syscons.c8
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)
OpenPOWER on IntegriCloud