[gtk/better-test-isolation-2: 2/6] filechooser portal: Free portal proxy when bus connection closes
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/better-test-isolation-2: 2/6] filechooser portal: Free portal proxy when bus connection closes
- Date: Thu, 6 Feb 2020 04:05:51 +0000 (UTC)
commit 85e59220a5cf690a7e3a50cf2811bdd4b4848136
Author: Alexander Larsson <alexl redhat com>
Date: Tue Feb 4 14:08:10 2020 +0100
filechooser portal: Free portal proxy when bus connection closes
This was blocking the clean exit from the testdbus shutdown in
the defaultvalues test. The proxy was keeping the connection alive
which blocks g_test_dbus_down().
gdk/filetransferportal.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/gdk/filetransferportal.c b/gdk/filetransferportal.c
index 541fd85a24..a658d086a8 100644
--- a/gdk/filetransferportal.c
+++ b/gdk/filetransferportal.c
@@ -471,6 +471,14 @@ portal_file_deserializer (GdkContentDeserializer *deserializer)
g_object_unref (output);
}
+static void
+connection_closed (GDBusConnection *connection,
+ gboolean remote_peer_vanished,
+ GError *error)
+{
+ g_clear_object (&file_transfer_proxy);
+}
+
static void
got_proxy (GObject *source,
GAsyncResult *result,
@@ -509,6 +517,10 @@ got_proxy (GObject *source,
portal_file_deserializer,
NULL,
NULL);
+
+ /* Free the singleton when the connection closes, important for test */
+ g_signal_connect (g_dbus_proxy_get_connection (G_DBUS_PROXY (file_transfer_proxy)),
+ "closed", G_CALLBACK (connection_closed), NULL);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]