[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 02/18] ui/dbus: unregister clipboard on connection close
From: |
marcandre . lureau |
Subject: |
[PATCH v3 02/18] ui/dbus: unregister clipboard on connection close |
Date: |
Mon, 13 Mar 2023 14:11:51 +0400 |
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Fixes unregistration with p2p connections, since they don't have an
associated name owner.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
---
ui/dbus-clipboard.c | 18 +++++++-----------
1 file changed, 7 insertions(+), 11 deletions(-)
diff --git a/ui/dbus-clipboard.c b/ui/dbus-clipboard.c
index df9a754a8d..fe7fcdecb6 100644
--- a/ui/dbus-clipboard.c
+++ b/ui/dbus-clipboard.c
@@ -204,15 +204,6 @@ dbus_clipboard_unregister_proxy(DBusDisplay *dpy)
g_clear_object(&dpy->clipboard_proxy);
}
-static void
-dbus_on_clipboard_proxy_name_owner_changed(
- DBusDisplay *dpy,
- GObject *object,
- GParamSpec *pspec)
-{
- dbus_clipboard_unregister_proxy(dpy);
-}
-
static gboolean
dbus_clipboard_register(
DBusDisplay *dpy,
@@ -220,6 +211,7 @@ dbus_clipboard_register(
{
g_autoptr(GError) err = NULL;
const char *name = NULL;
+ GDBusConnection *connection =
g_dbus_method_invocation_get_connection(invocation);
if (dpy->clipboard_proxy) {
g_dbus_method_invocation_return_error(
@@ -232,7 +224,7 @@ dbus_clipboard_register(
dpy->clipboard_proxy =
qemu_dbus_display1_clipboard_proxy_new_sync(
- g_dbus_method_invocation_get_connection(invocation),
+ connection,
G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
g_dbus_method_invocation_get_sender(invocation),
"/org/qemu/Display1/Clipboard",
@@ -252,7 +244,11 @@ dbus_clipboard_register(
g_object_connect(dpy->clipboard_proxy,
"swapped-signal::notify::g-name-owner",
- dbus_on_clipboard_proxy_name_owner_changed, dpy,
+ dbus_clipboard_unregister_proxy, dpy,
+ NULL);
+ g_object_connect(connection,
+ "swapped-signal::closed",
+ dbus_clipboard_unregister_proxy, dpy,
NULL);
qemu_clipboard_reset_serial();
--
2.39.2
- [PATCH v3 00/18] ui: dbus & misc fixes, marcandre . lureau, 2023/03/13
- [PATCH v3 02/18] ui/dbus: unregister clipboard on connection close,
marcandre . lureau <=
- [PATCH v3 01/18] ui/dbus: initialize cursor_fb, marcandre . lureau, 2023/03/13
- [PATCH v3 03/18] audio/dbus: there are no sender for p2p mode, marcandre . lureau, 2023/03/13
- [PATCH v3 05/18] meson: ensure dbus-display generated code is built before other units, marcandre . lureau, 2023/03/13
- [PATCH v3 04/18] ui/dbus: set mouse is-absolute during console creation, marcandre . lureau, 2023/03/13
- [PATCH v3 06/18] ui: rename cursor_{put->unref}, marcandre . lureau, 2023/03/13
- [PATCH v3 07/18] ui: rename cursor_{get->ref}, return it, marcandre . lureau, 2023/03/13
- [PATCH v3 08/18] ui: keep current cursor with QemuConsole, marcandre . lureau, 2023/03/13
- [PATCH v3 09/18] ui: set cursor upon listener registration, marcandre . lureau, 2023/03/13
- [PATCH v3 10/18] ui: set cursor position upon listener registration, marcandre . lureau, 2023/03/13
- [PATCH v3 13/18] ui/egl: print EGL error, helping debugging, marcandre . lureau, 2023/03/13