summaryrefslogtreecommitdiff
path: root/sys/src/cmd/vnc/draw.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-08-21 02:02:50 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-08-21 02:02:50 +0200
commit37cbd6b632c56f09c0c561cddc1c4e5645dd4269 (patch)
tree91b6b7d6ad4c38216738e6d225626a371a049242 /sys/src/cmd/vnc/draw.c
parentf8f677b48ebaf490c6d870e8728285bc409789c0 (diff)
vncv: adjust window size on desktop resize, fix canresize checks
Diffstat (limited to 'sys/src/cmd/vnc/draw.c')
-rw-r--r--sys/src/cmd/vnc/draw.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/cmd/vnc/draw.c b/sys/src/cmd/vnc/draw.c
index eac717833..b83060f69 100644
--- a/sys/src/cmd/vnc/draw.c
+++ b/sys/src/cmd/vnc/draw.c
@@ -29,6 +29,9 @@ vncsetdim(Vnc *v, Rectangle dim)
pixbuf = realloc(pixbuf, v->dim.max.x * pixb * v->dim.max.y);
if(linebuf == nil || pixbuf == nil)
sysfatal("can't allocate pix decompression storage");
+ lockdisplay(display);
+ adjustwin(v, 0);
+ unlockdisplay(display);
}
static void
@@ -79,7 +82,7 @@ requestupdate(Vnc *v, int incremental)
r = rectsubpt(screen->r, screen->r.min);
unlockdisplay(display);
vnclock(v);
- if(incremental == 0 && v->canresize && !eqrect(r, v->dim)){
+ if(incremental == 0 && (v->canresize&2)!=0 && !eqrect(r, v->dim)){
vncwrchar(v, MSetDesktopSize);
vncwrchar(v, 0);
vncwrpoint(v, r.max);