vnc: don't clear zlib stream on set_encoding
authorCorentin Chary <corentincj@iksaif.net>
Wed, 19 May 2010 07:24:06 +0000 (09:24 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Tue, 1 Jun 2010 17:53:09 +0000 (12:53 -0500)
On init, values are already NULL, but we shouldn't try
to reset them each time a client send a set encoding
command because this break everything. For example,
libvncclient re-send a set encoding command if the
framebuffer is resized.

This fix framebuffer resizing for zlib encoding.

Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vnc-encoding-zlib.c
vnc.c
vnc.h

index 29dd1b7aee7bc627e038e5a8c085f62bb82d05da..52b18aa84ae7aa4a85a591157304eddbf9fec03b 100644 (file)
@@ -140,8 +140,3 @@ void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h)
     vnc_write_u32(vs, bytes_written);
     vs->output.offset = new_offset;
 }
-
-void vnc_zlib_init(VncState *vs)
-{
-    vs->zlib_stream.opaque = NULL;
-}
diff --git a/vnc.c b/vnc.c
index 8db15577deb2dcd919d7f68fb9ba15d92de23c3c..42ff25396f9c79769ec27310cb818bacc41cdeb7 100644 (file)
--- a/vnc.c
+++ b/vnc.c
@@ -1642,7 +1642,6 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
     int i;
     unsigned int enc = 0;
 
-    vnc_zlib_init(vs);
     vs->features = 0;
     vs->vnc_encoding = 0;
     vs->tight_compression = 9;
diff --git a/vnc.h b/vnc.h
index 380068794320e3708c745c4e23767a087b33b8f1..c8200e90c0c7bdf3e9b4d1ad67087c932ccbecd5 100644 (file)
--- a/vnc.h
+++ b/vnc.h
@@ -403,7 +403,6 @@ void vnc_hextile_send_framebuffer_update(VncState *vs, int x,
                                          int y, int w, int h);
 void vnc_hextile_set_pixel_conversion(VncState *vs, int generic);
 
-void vnc_zlib_init(VncState *vs);
 void vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h);
 
 #endif /* __QEMU_VNC_H */