diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-04-16 18:52:49 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-04-16 18:52:49 +0200 |
commit | 4fcc5efce5481064c4abc483a103fbaad3fb0875 (patch) | |
tree | da7f7d736860af332d2c3a9bac0844515227924c /sys/src | |
parent | c31c4ca7b37ae113e9df810f03157c2fe7bb2708 (diff) |
mouse: fix cursor redraw to prevent screen blanking (thanks erik)
Diffstat (limited to 'sys/src')
-rw-r--r-- | sys/src/9/port/devmouse.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/src/9/port/devmouse.c b/sys/src/9/port/devmouse.c index 04a921145..c16ed0b60 100644 --- a/sys/src/9/port/devmouse.c +++ b/sys/src/9/port/devmouse.c @@ -517,6 +517,9 @@ shouldredraw(void*) static void mouseproc(void*) { + ulong counter; + + counter = ~0; while(waserror()) ; for(;;){ @@ -524,10 +527,11 @@ mouseproc(void*) mouse.redraw = 0; cursoroff(); cursoron(); - drawactive(1); - } else { - drawactive(0); } + + drawactive(mouse.counter != counter); + counter = mouse.counter; + tsleep(&mouse.redrawr, shouldredraw, 0, 20*1000); } } |