shithub: riscv

Download patch

ref: f6a9db1bd9b50f43c570ba55e5d5653558006763
parent: 79ff9d28bd2c3d447dfb1a7b3fb6ee5634145a7a
author: mischief <mischief@offblast.org>
date: Fri Jan 9 10:41:00 EST 2015

libdraw: don't redraw input box in enter/eenter when mouse is moved outside the rectangle

prevents some flickering when devdraw is used over a high latency connection.

Fixes issue 236

--- a/sys/src/libdraw/eenter.c
+++ b/sys/src/libdraw/eenter.c
@@ -111,6 +111,7 @@
 		sc = b->clipr;
 		replclipr(b, 0, b->r);
 
+nodraw:
 		switch(i){
 		default:
 			done = 1;
@@ -187,7 +188,7 @@
 			*m = ev.mouse;
 			if(!ptinrect(m->xy, r)){
 				down = 0;
-				continue;
+				goto nodraw;
 			}
 			if(m->buttons & 7){
 				down = 1;
--- a/sys/src/libdraw/enter.c
+++ b/sys/src/libdraw/enter.c
@@ -120,6 +120,7 @@
 		}
 		flushimage(display, 1);
 
+nodraw:
 		switch(alt(a)){
 		case -1:
 			done = 1;
@@ -194,7 +195,7 @@
 		case 1:
 			if(!ptinrect(m.xy, r)){
 				down = 0;
-				continue;
+				goto nodraw;
 			}
 			if(m.buttons & 7){
 				down = 1;