[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [HVM][VNC] Work around a bug in the newest version of xvncviewer which



# HG changeset patch
# User Steven Smith <ssmith@xxxxxxxxxxxxx>
# Node ID a1154318cd80ad5cb488f6fbb8fc138e87ad429b
# Parent  ca3abb3804f4400b24037a4366cb2ca5e51ed742
[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@xxxxxxxxx>
---
 tools/ioemu/vnc.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff -r ca3abb3804f4 -r a1154318cd80 tools/ioemu/vnc.c
--- a/tools/ioemu/vnc.c Tue Sep 26 16:46:47 2006 +0100
+++ b/tools/ioemu/vnc.c Tue Sep 26 16:47:35 2006 +0100
@@ -581,12 +581,16 @@ static void _vnc_update_client(void *opa
               interested (e.g. minimised) it'll ignore this, and we
               can stop scanning the buffer until it sends another
               update request. */
-           /* Note that there are bugs in xvncviewer which prevent
-              this from actually working.  Leave the code in place
-              for correct clients. */
+           /* It turns out that there's a bug in realvncviewer 4.1.2
+              which means that if you send a proper null update (with
+              no update rectangles), it gets a bit out of sync and
+              never sends any further requests, regardless of whether
+              it needs one or not.  Fix this by sending a single 1x1
+              update rectangle instead. */
            vnc_write_u8(vs, 0);
            vnc_write_u8(vs, 0);
-           vnc_write_u16(vs, 0);
+           vnc_write_u16(vs, 1);
+           send_framebuffer_update(vs, 0, 0, 1, 1);
            vnc_flush(vs);
            vs->last_update_time = now;
            return;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.