ui/vnc: Only report/use TIGHT_PNG encoding if enabled.
authorJoel Martin <github@martintribe.org>
Wed, 16 May 2012 12:54:25 +0000 (12:54 +0000)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 19 Oct 2012 08:27:37 +0000 (10:27 +0200)
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>
ui/vnc.c

index 33e6386a6ec2822be6fdf2a0763ec2b553ac92d3..66ae93010fae4bb78db2ba7dcaf55f474230dd56 100644 (file)
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -1806,10 +1806,12 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
             vs->features |= VNC_FEATURE_TIGHT_MASK;
             vs->vnc_encoding = enc;
             break;
+#ifdef CONFIG_VNC_PNG
         case VNC_ENCODING_TIGHT_PNG:
             vs->features |= VNC_FEATURE_TIGHT_PNG_MASK;
             vs->vnc_encoding = enc;
             break;
+#endif
         case VNC_ENCODING_ZLIB:
             vs->features |= VNC_FEATURE_ZLIB_MASK;
             vs->vnc_encoding = enc;