summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-09-25 13:05:58 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-09-25 18:25:03 +0200
commit477b301000d665313217f65e3a368d2cb7769c42 (patch)
tree97d103274bdc38823a6a8594a841a3a42aee73f2
parent0cb9c5880e6b8dedc4e20026ce859dd1ea9aac84 (diff)
downloadfocaccia-qemu-477b301000d665313217f65e3a368d2cb7769c42.tar.gz
focaccia-qemu-477b301000d665313217f65e3a368d2cb7769c42.zip
ui/vnc: fix handling of VNC_FEATURE_XVP
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>
-rw-r--r--ui/vnc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui/vnc.c b/ui/vnc.c
index 1684ab9096..c302bb07a5 100644
--- 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;