summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-01-16 09:51:15 +0100
committercinap_lenrek <cinap_lenrek@gmx.de>2013-01-16 09:51:15 +0100
commite7399181a9652ac32193318bf7ffd268c96ab117 (patch)
tree4775eb5de25fe9ebfa22866150b14fa46ef3351e
parentf2f2c8687afbe0af3fa98376bab3ed27d1d82801 (diff)
downloadplan9front-e7399181a9652ac32193318bf7ffd268c96ab117.tar.xz
vncv: do flushimage() under display lock, zero ypdate rect
-rw-r--r--sys/src/cmd/vnc/draw.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/src/cmd/vnc/draw.c b/sys/src/cmd/vnc/draw.c
index 5a37bb5ab..9941b81f0 100644
--- a/sys/src/cmd/vnc/draw.c
+++ b/sys/src/cmd/vnc/draw.c
@@ -63,6 +63,7 @@ requestupdate(Vnc *v, int incremental)
int x, y;
lockdisplay(display);
+ flushimage(display, 1);
x = Dx(screen->r);
y = Dy(screen->r);
unlockdisplay(display);
@@ -236,8 +237,6 @@ dorectangle(Vnc *v)
Rectangle r, subr, maxr;
r = vncrdrect(v);
- if(r.min.x == r.max.x || r.min.y == r.max.y)
- return;
if(!rectinrect(r, Rpt(ZP, v->dim)))
sysfatal("bad rectangle from server: %R not in %R", r, Rpt(ZP, v->dim));
stride = Dx(r) * pixb;
@@ -364,7 +363,6 @@ readfromserver(Vnc *v)
n = vncrdshort(v);
while(n-- > 0)
dorectangle(v);
- flushimage(display, 1);
requestupdate(v, 1);
break;