git: 9front

Download patch

ref: 836862ea6a1c80a6d150c3a48f4637fa8fd0f60e
parent: 53fd44ed0965af609ddc34bf228e7de2735a21d1
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;
--