[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/11] ui/dbus: unregister clipboard on connection close
From: |
marcandre . lureau |
Subject: |
[PATCH 01/11] ui/dbus: unregister clipboard on connection close |
Date: |
Mon, 30 Jan 2023 15:24:21 +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>
---
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 5843d26cd2..d78f9db18f 100644
--- a/ui/dbus-clipboard.c
+++ b/ui/dbus-clipboard.c
@@ -203,15 +203,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,
@@ -219,6 +210,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(
@@ -231,7 +223,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",
@@ -251,7 +243,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.1
- [PATCH 00/11] ui: dbus & misc fixes, marcandre . lureau, 2023/01/30
- [PATCH 01/11] ui/dbus: unregister clipboard on connection close,
marcandre . lureau <=
- [PATCH 02/11] audio/dbus: there are no sender for p2p mode, marcandre . lureau, 2023/01/30
- [PATCH 03/11] ui/dbus: set mouse is-absolute during console creation, marcandre . lureau, 2023/01/30
- [PATCH 04/11] ui/dbus: update the display when switching surface, marcandre . lureau, 2023/01/30
- [PATCH 05/11] meson: ensure dbus-display generated code is built before other units, marcandre . lureau, 2023/01/30
- [PATCH 06/11] ui: rename cursor_{put->unref}, marcandre . lureau, 2023/01/30
- [PATCH 08/11] ui: keep current cursor with QemuConsole, marcandre . lureau, 2023/01/30
- [PATCH 10/11] ui: set cursor position upon listener registration, marcandre . lureau, 2023/01/30
- [PATCH 09/11] ui: set cursor upon listener registration, marcandre . lureau, 2023/01/30
- [PATCH 07/11] ui: rename cursor_{get->ref}, return it, marcandre . lureau, 2023/01/30
- [PATCH 11/11] ui/sdl: get the GL context from the window, marcandre . lureau, 2023/01/30