]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
ui/vnc: fix handling of VNC_FEATURE_XVP
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 25 Sep 2023 11:05:58 +0000 (13:05 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 25 Sep 2023 16:25:03 +0000 (18:25 +0200)
VNC_FEATURE_XVP was not shifted left before adding it to vs->features,
so it was never enabled; but it was also checked the wrong way with
a logical AND instead of vnc_has_feature.  Fix both places.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
ui/vnc.c

index 1684ab909684fc51c6ef26d8435ba8e53236bbb8..c302bb07a5bc8a80ff657ab741b482fa1d3b7f2b 100644 (file)
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -2205,7 +2205,7 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings)
             break;
         case VNC_ENCODING_XVP:
             if (vs->vd->power_control) {
-                vs->features |= VNC_FEATURE_XVP;
+                vs->features |= VNC_FEATURE_XVP_MASK;
                 send_xvp_message(vs, VNC_XVP_CODE_INIT);
             }
             break;
@@ -2454,7 +2454,7 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len)
         vnc_client_cut_text(vs, read_u32(data, 4), data + 8);
         break;
     case VNC_MSG_CLIENT_XVP:
-        if (!(vs->features & VNC_FEATURE_XVP)) {
+        if (!vnc_has_feature(vs, VNC_FEATURE_XVP)) {
             error_report("vnc: xvp client message while disabled");
             vnc_client_error(vs);
             break;