aboutsummaryrefslogtreecommitdiff
path: root/ui/dbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui/dbus.c')
-rw-r--r--ui/dbus.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ui/dbus.c b/ui/dbus.c
index d24f704d46..4f0bc293aa 100644
--- a/ui/dbus.c
+++ b/ui/dbus.c
@@ -24,6 +24,7 @@
#include "qemu/osdep.h"
#include "qemu/cutils.h"
#include "qemu/dbus.h"
+#include "qemu/main-loop.h"
#include "qemu/option.h"
#include "qom/object_interfaces.h"
#include "sysemu/sysemu.h"
@@ -70,6 +71,8 @@ dbus_display_init(Object *o)
g_dbus_object_skeleton_add_interface(
vm, G_DBUS_INTERFACE_SKELETON(dd->iface));
g_dbus_object_manager_server_export(dd->server, vm);
+
+ dbus_clipboard_init(dd);
}
static void
@@ -77,6 +80,9 @@ dbus_display_finalize(Object *o)
{
DBusDisplay *dd = DBUS_DISPLAY(o);
+ qemu_clipboard_peer_unregister(&dd->clipboard_peer);
+ g_clear_object(&dd->clipboard);
+
g_clear_object(&dd->server);
g_clear_pointer(&dd->consoles, g_ptr_array_unref);
if (dd->add_client_cancellable) {
@@ -294,6 +300,7 @@ set_audiodev(Object *o, const char *str, Error **errp)
dd->audiodev = g_strdup(str);
}
+
static int
get_gl_mode(Object *o, Error **errp)
{