dbus_clipboard_update_info() drops any incoming grab whose
QemuClipboardInfo has no serial number:
if (self_update || !info->has_serial) {
return;
}
For grabs coming from ui/vdagent.c, has_serial is only set when the
guest's vdagent client has negotiated VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL
(see vdagent_clipboard_recv_grab()). When the guest doesn't negotiate
it, the grab is silently dropped here and never forwarded to the
D-Bus display client via Clipboard.Grab.
It seems other protocols (ui/gtk-clipboard.c, ui/vnc-clipboard.c) do not
incorporate a validation on has_serial, so this patch matches their
behavior.
Signed-off-by: Rick Vernam <[email protected]>
---
ui/dbus-clipboard.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/dbus-clipboard.c b/ui/dbus-clipboard.c
index 90318384ee..1389ec0edc 100644
--- a/ui/dbus-clipboard.c
+++ b/ui/dbus-clipboard.c
@@ -72,7 +72,7 @@ dbus_clipboard_update_info(DBusDisplay *dpy,
QemuClipboardInfo *info)
return;
}
- if (self_update || !info->has_serial) {
+ if (self_update) {
return;
}
--
2.55.0