mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
ui/vdagent: factor out clipboard peer registration
This allows common code reuse during migration. Note that resetting the serial is now done regardless if the clipboard peer was registered or not. This should still be correct. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
688ff4cbdf
commit
f626116f98
1 changed files with 14 additions and 6 deletions
20
ui/vdagent.c
20
ui/vdagent.c
|
@ -694,6 +694,18 @@ static void vdagent_chr_open(Chardev *chr,
|
|||
*be_opened = true;
|
||||
}
|
||||
|
||||
static void vdagent_clipboard_peer_register(VDAgentChardev *vd)
|
||||
{
|
||||
if (vd->cbpeer.notifier.notify != NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
vd->cbpeer.name = "vdagent";
|
||||
vd->cbpeer.notifier.notify = vdagent_clipboard_notify;
|
||||
vd->cbpeer.request = vdagent_clipboard_request;
|
||||
qemu_clipboard_peer_register(&vd->cbpeer);
|
||||
}
|
||||
|
||||
static void vdagent_chr_recv_caps(VDAgentChardev *vd, VDAgentMessage *msg)
|
||||
{
|
||||
VDAgentAnnounceCapabilities *caps = (void *)msg->data;
|
||||
|
@ -720,13 +732,9 @@ static void vdagent_chr_recv_caps(VDAgentChardev *vd, VDAgentMessage *msg)
|
|||
|
||||
memset(vd->last_serial, 0, sizeof(vd->last_serial));
|
||||
|
||||
if (have_clipboard(vd) && vd->cbpeer.notifier.notify == NULL) {
|
||||
if (have_clipboard(vd)) {
|
||||
qemu_clipboard_reset_serial();
|
||||
|
||||
vd->cbpeer.name = "vdagent";
|
||||
vd->cbpeer.notifier.notify = vdagent_clipboard_notify;
|
||||
vd->cbpeer.request = vdagent_clipboard_request;
|
||||
qemu_clipboard_peer_register(&vd->cbpeer);
|
||||
vdagent_clipboard_peer_register(vd);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue