From c5fd292cf8ddd8131a12bdb7a12e26d3495d8edb Mon Sep 17 00:00:00 2001 From: Iain Lane Date: Fri, 4 May 2018 14:32:16 +0100 Subject: libgdm: Drop weak refs on the GDBusConnection The GDBusProxies hold a strong reference to the connection themselves. We don't need to do this, and we avoid the potential of operating on a disposed GDBusConnection if we leave them alone. --- libgdm/gdm-client.c | 44 ++------------------------------------------ 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/libgdm/gdm-client.c b/libgdm/gdm-client.c index bcae8ba2..b440d69f 100644 --- a/libgdm/gdm-client.c +++ b/libgdm/gdm-client.c @@ -454,7 +454,6 @@ gdm_client_open_connection_sync (GdmClient *client, NULL, cancellable, error); - if (client->priv->connection == NULL) { g_clear_object (&client->priv->manager); g_clear_pointer (&client->priv->address, g_free); @@ -698,12 +697,9 @@ gdm_client_open_reauthentication_channel_sync (GdmClient *client, cancellable, error); - if (user_verifier != NULL) { - g_object_weak_ref (G_OBJECT (user_verifier), - (GWeakNotify) - g_object_unref, - connection); + g_object_unref (connection); + if (user_verifier != NULL) { g_object_weak_ref (G_OBJECT (user_verifier), (GWeakNotify) g_clear_object, @@ -814,10 +810,6 @@ gdm_client_get_user_verifier_sync (GdmClient *client, (GWeakNotify) g_clear_object, &client->priv->manager); - g_object_weak_ref (G_OBJECT (client->priv->user_verifier), - (GWeakNotify) - g_clear_object, - &client->priv->connection); if (client->priv->enabled_extensions != NULL) { gboolean res; @@ -955,11 +947,6 @@ gdm_client_get_user_verifier_finish (GdmClient *client, (gpointer *) &client->priv->user_verifier); - g_object_weak_ref (G_OBJECT (client->priv->user_verifier), - (GWeakNotify) - g_object_unref, - client->priv->connection); - g_object_weak_ref (G_OBJECT (client->priv->user_verifier), (GWeakNotify) g_clear_object, @@ -1130,11 +1117,6 @@ gdm_client_get_greeter_finish (GdmClient *client, (gpointer *) &client->priv->greeter); - g_object_weak_ref (G_OBJECT (client->priv->greeter), - (GWeakNotify) - g_object_unref, - client->priv->connection); - g_object_weak_ref (G_OBJECT (client->priv->greeter), (GWeakNotify) g_clear_object, @@ -1184,10 +1166,6 @@ gdm_client_get_greeter_sync (GdmClient *client, (GWeakNotify) g_clear_object, &client->priv->manager); - g_object_weak_ref (G_OBJECT (client->priv->greeter), - (GWeakNotify) - g_clear_object, - &client->priv->connection); query_for_timed_login_requested_signal (client->priv->greeter); } @@ -1315,11 +1293,6 @@ gdm_client_get_remote_greeter_finish (GdmClient *client, (gpointer *) &client->priv->remote_greeter); - g_object_weak_ref (G_OBJECT (client->priv->remote_greeter), - (GWeakNotify) - g_object_unref, - client->priv->connection); - g_object_weak_ref (G_OBJECT (client->priv->remote_greeter), (GWeakNotify) g_clear_object, @@ -1368,10 +1341,6 @@ gdm_client_get_remote_greeter_sync (GdmClient *client, (GWeakNotify) g_clear_object, &client->priv->manager); - g_object_weak_ref (G_OBJECT (client->priv->remote_greeter), - (GWeakNotify) - g_clear_object, - &client->priv->connection); } return client->priv->remote_greeter; @@ -1497,11 +1466,6 @@ gdm_client_get_chooser_finish (GdmClient *client, (gpointer *) &client->priv->chooser); - g_object_weak_ref (G_OBJECT (client->priv->chooser), - (GWeakNotify) - g_object_unref, - client->priv->connection); - g_object_weak_ref (G_OBJECT (client->priv->chooser), (GWeakNotify) g_clear_object, @@ -1551,10 +1515,6 @@ gdm_client_get_chooser_sync (GdmClient *client, (GWeakNotify) g_clear_object, &client->priv->manager); - g_object_weak_ref (G_OBJECT (client->priv->chooser), - (GWeakNotify) - g_clear_object, - &client->priv->connection); } return client->priv->chooser; -- cgit v1.2.1