ia64/xen-unstable

changeset 11633:a1154318cd80

[HVM][VNC] Work around a bug in the newest version of xvncviewer which
could lead to the display locking up after it's been idle for a while.

Signed-off-by: Steven Smith <sos22@cam.ac.uk>
author Steven Smith <ssmith@xensource.com>
date Tue Sep 26 16:47:35 2006 +0100 (2006-09-26)
parents ca3abb3804f4
children bd811e94d293
files tools/ioemu/vnc.c
line diff
     1.1 --- a/tools/ioemu/vnc.c	Tue Sep 26 16:46:47 2006 +0100
     1.2 +++ b/tools/ioemu/vnc.c	Tue Sep 26 16:47:35 2006 +0100
     1.3 @@ -581,12 +581,16 @@ static void _vnc_update_client(void *opa
     1.4  	       interested (e.g. minimised) it'll ignore this, and we
     1.5  	       can stop scanning the buffer until it sends another
     1.6  	       update request. */
     1.7 -	    /* Note that there are bugs in xvncviewer which prevent
     1.8 -	       this from actually working.  Leave the code in place
     1.9 -	       for correct clients. */
    1.10 +	    /* It turns out that there's a bug in realvncviewer 4.1.2
    1.11 +	       which means that if you send a proper null update (with
    1.12 +	       no update rectangles), it gets a bit out of sync and
    1.13 +	       never sends any further requests, regardless of whether
    1.14 +	       it needs one or not.  Fix this by sending a single 1x1
    1.15 +	       update rectangle instead. */
    1.16  	    vnc_write_u8(vs, 0);
    1.17  	    vnc_write_u8(vs, 0);
    1.18 -	    vnc_write_u16(vs, 0);
    1.19 +	    vnc_write_u16(vs, 1);
    1.20 +	    send_framebuffer_update(vs, 0, 0, 1, 1);
    1.21  	    vnc_flush(vs);
    1.22  	    vs->last_update_time = now;
    1.23  	    return;