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 <corenti...@iksaif.net> --- 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; i<ARRAY_SIZE(vs->tight_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