[03/43] ui/vnc: Only report/use TIGHT_PNG encoding if enabled.

Message ID 1354572547-21271-4-git-send-email-mdroth@linux.vnet.ibm.com
State New
Headers show

Commit Message

Michael Roth Dec. 3, 2012, 10:08 p.m.
From: Joel Martin <github@martintribe.org>

If TIGHT_PNG is not enabled by the --enable-vnc-png configure flag
then do not report to the client that it is supported.

Also, since TIGHT_PNG is the same as the TIGHT encoding but with the
filter/copy replaced with PNG data, adding it to the supported
encodings list when it is disabled will cause the TIGHT encoding to be
used even though the client requested TIGHT_PNG.

Signed-off-by: Joel Martin <github@martintribe.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit fe3e7f2dc05225cdd2ba40defcd4e2581bebc5e0)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
 ui/vnc.c |    2 ++
 1 file changed, 2 insertions(+)


diff --git a/ui/vnc.c b/ui/vnc.c
index 01b2daf..18ec101 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1802,10 +1802,12 @@  static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
             vs->features |= VNC_FEATURE_TIGHT_MASK;
             vs->vnc_encoding = enc;
             vs->features |= VNC_FEATURE_TIGHT_PNG_MASK;
             vs->vnc_encoding = enc;
         case VNC_ENCODING_ZLIB:
             vs->features |= VNC_FEATURE_ZLIB_MASK;
             vs->vnc_encoding = enc;