aboutsummaryrefslogtreecommitdiff
path: root/ui/cocoa.m
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2021-07-19 19:42:15 +0400
committerMarc-André Lureau <marcandre.lureau@redhat.com>2021-12-21 10:50:21 +0400
commit1b17f1e9f962f5ae9cd559d7f23718ceed71b813 (patch)
treeee3a19c25c8d55254cc6ff77c01931680f6c283c /ui/cocoa.m
parent59127452883afe3d603e90824bb33ac57b4dbee1 (diff)
downloadqemu-1b17f1e9f962f5ae9cd559d7f23718ceed71b813.zip
qemu-1b17f1e9f962f5ae9cd559d7f23718ceed71b813.tar.gz
qemu-1b17f1e9f962f5ae9cd559d7f23718ceed71b813.tar.bz2
ui: generalize clipboard notifier
Use a QemuClipboardNotify union type for extendable clipboard events. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/cocoa.m')
-rw-r--r--ui/cocoa.m17
1 files changed, 13 insertions, 4 deletions
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 68a6302..6640a2e 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -1808,14 +1808,12 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
static QemuClipboardPeer cbpeer = {
.name = "cocoa",
- .update = { .notify = cocoa_clipboard_notify },
+ .notifier = { .notify = cocoa_clipboard_notify },
.request = cocoa_clipboard_request
};
-static void cocoa_clipboard_notify(Notifier *notifier, void *data)
+static void cocoa_clipboard_update_info(QemuClipboardInfo *info)
{
- QemuClipboardInfo *info = data;
-
if (info->owner == &cbpeer || info->selection != QEMU_CLIPBOARD_SELECTION_CLIPBOARD) {
return;
}
@@ -1831,6 +1829,17 @@ static void cocoa_clipboard_notify(Notifier *notifier, void *data)
qemu_event_set(&cbevent);
}
+static void cocoa_clipboard_notify(Notifier *notifier, void *data)
+{
+ QemuClipboardNotify *notify = data;
+
+ switch (notify->type) {
+ case QEMU_CLIPBOARD_UPDATE_INFO:
+ cocoa_clipboard_update_info(notify->info);
+ return;
+ }
+}
+
static void cocoa_clipboard_request(QemuClipboardInfo *info,
QemuClipboardType type)
{