From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=36558 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OEHGo-0000M0-Qv for qemu-devel@nongnu.org; Tue, 18 May 2010 03:34:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OEHDT-0007yN-1m for qemu-devel@nongnu.org; Tue, 18 May 2010 03:31:09 -0400 Received: from iksaif.net ([88.191.73.63]:38614) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OEHDS-0007x6-Ac for qemu-devel@nongnu.org; Tue, 18 May 2010 03:27:50 -0400 From: Corentin Chary Date: Tue, 18 May 2010 09:31:18 +0200 Message-Id: <1274167881-6966-8-git-send-email-corentincj@iksaif.net> In-Reply-To: <1274167881-6966-1-git-send-email-corentincj@iksaif.net> References: <1274167881-6966-1-git-send-email-corentincj@iksaif.net> Subject: [Qemu-devel] [PATCH 07/10] vnc: don't clear zlib stream on set_encoding List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Corentin Chary , Anthony Liguori , Alexander Graf , Adam Litke 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 tight and zlib encodings. Signed-off-by: Corentin Chary --- vnc-encoding-tight.c | 7 ------- vnc-encoding-zlib.c | 5 ----- vnc.c | 2 -- vnc.h | 2 -- 4 files changed, 0 insertions(+), 16 deletions(-) diff --git a/vnc-encoding-tight.c b/vnc-encoding-tight.c index 5ea90c0..229927e 100644 --- a/vnc-encoding-tight.c +++ b/vnc-encoding-tight.c @@ -499,13 +499,6 @@ static int find_large_solid_color_rect(VncState *vs, int x, int y, return n + send_rect_simple(vs, x, y, w, h); } -void vnc_tight_init(VncState *vs) -{ - int i; - for (i=0; itight_stream); i++) - vs->tight_stream[i].opaque = NULL; -} - int vnc_tight_send_framebuffer_update(VncState *vs, int x, int y, int w, int h) { diff --git a/vnc-encoding-zlib.c b/vnc-encoding-zlib.c index 17a61bf..6b68540 100644 --- a/vnc-encoding-zlib.c +++ b/vnc-encoding-zlib.c @@ -143,8 +143,3 @@ int vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h) return 1; } - -void vnc_zlib_init(VncState *vs) -{ - vs->zlib_stream.opaque = NULL; -} diff --git a/vnc.c b/vnc.c index c7b76ff..f660c10 100644 --- a/vnc.c +++ b/vnc.c @@ -1610,8 +1610,6 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) int i; unsigned int enc = 0; - vnc_zlib_init(vs); - vnc_tight_init(vs); vs->features = 0; if (!vs->vnc_encoding) vs->vnc_encoding = -1; diff --git a/vnc.h b/vnc.h index ec7f481..ea6e70b 100644 --- a/vnc.h +++ b/vnc.h @@ -403,12 +403,10 @@ int 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_zalloc(void *x, unsigned items, unsigned size); void vnc_zlib_zfree(void *x, void *addr); int vnc_zlib_send_framebuffer_update(VncState *vs, int x, int y, int w, int h); -void vnc_tight_init(VncState *vs); int vnc_tight_send_framebuffer_update(VncState *vs, int x, int y, int w, int h); #endif /* __QEMU_VNC_H */ -- 1.7.0.2