git: 9front

Download patch

ref: 65eb543379fcdf1accbbf461a6a6b59caa3c29b8
parent: cb5787d3b38186a2c95aeba88531339a9c61679e
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Tue Apr 16 14:52:49 EDT 2013

mouse: fix cursor redraw to prevent screen blanking (thanks erik)

--- a/sys/src/9/port/devmouse.c
+++ b/sys/src/9/port/devmouse.c
@@ -517,6 +517,9 @@
 static void
 mouseproc(void*)
 {
+	ulong counter;
+
+	counter = ~0;
 	while(waserror())
 		;
 	for(;;){
@@ -524,10 +527,11 @@
 			mouse.redraw = 0;
 			cursoroff();
 			cursoron();
-			drawactive(1);
-		} else {
-			drawactive(0);
 		}
+
+		drawactive(mouse.counter != counter);
+		counter = mouse.counter;
+
 		tsleep(&mouse.redrawr, shouldredraw, 0, 20*1000);
 	}
 }
--