ui/clipboard: add qemu_clipboard_check_serial()

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Marc-André Lureau 2021-07-21 15:19:13 +04:00
parent 835f69f4e6
commit 349504e5a1
2 changed files with 25 additions and 0 deletions

View file

@ -172,6 +172,16 @@ void qemu_clipboard_peer_release(QemuClipboardPeer *peer,
*/
QemuClipboardInfo *qemu_clipboard_info(QemuClipboardSelection selection);
/**
* qemu_clipboard_check_serial
*
* @info: clipboard info.
* @client: whether to check from the client context and priority.
*
* Return TRUE if the @info has a higher serial than the current clipboard.
*/
bool qemu_clipboard_check_serial(QemuClipboardInfo *info, bool client);
/**
* qemu_clipboard_info_new
*

View file

@ -41,6 +41,21 @@ void qemu_clipboard_peer_release(QemuClipboardPeer *peer,
}
}
bool qemu_clipboard_check_serial(QemuClipboardInfo *info, bool client)
{
if (!info->has_serial ||
!cbinfo[info->selection] ||
!cbinfo[info->selection]->has_serial) {
return true;
}
if (client) {
return cbinfo[info->selection]->serial >= info->serial;
} else {
return cbinfo[info->selection]->serial > info->serial;
}
}
void qemu_clipboard_update(QemuClipboardInfo *info)
{
QemuClipboardNotify notify = {