summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2010-09-13 10:15:34 -0400
committerRay Strode <rstrode@redhat.com>2010-09-13 10:18:53 -0400
commitc690a9b51dca5700bb5e512e6f2e55d9440a145a (patch)
tree619144cf6dd3ec70b72503371b00fa846384e65c
parentb4756bb27f22628a86b404f5685c6c9357cbe69b (diff)
downloadgdm-c690a9b51dca5700bb5e512e6f2e55d9440a145a.tar.gz
Change user manager user weak ref to strong ref
The on_users_loaded function assumes it owns a strong reference to the user.
-rw-r--r--gui/simple-greeter/gdm-user-manager.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/gui/simple-greeter/gdm-user-manager.c b/gui/simple-greeter/gdm-user-manager.c
index bd36380c..305fd933 100644
--- a/gui/simple-greeter/gdm-user-manager.c
+++ b/gui/simple-greeter/gdm-user-manager.c
@@ -688,12 +688,6 @@ set_has_multiple_users (GdmUserManager *manager,
g_object_notify (G_OBJECT (manager), "has-multiple-users");
}
}
-static void
-on_new_user_destroyed (GdmUserManager *manager,
- GdmUser *user)
-{
- manager->priv->new_users = g_slist_remove (manager->priv->new_users, user);
-}
static GdmUser *
create_new_user (GdmUserManager *manager)
@@ -703,11 +697,10 @@ create_new_user (GdmUserManager *manager)
user = g_object_new (GDM_TYPE_USER, NULL);
manager->priv->new_users = g_slist_prepend (manager->priv->new_users, user);
- g_object_weak_ref (G_OBJECT (user), (GWeakNotify) on_new_user_destroyed, manager);
g_signal_connect (user, "notify::is-loaded", G_CALLBACK (on_new_user_loaded), manager);
- return user;
+ return g_object_ref (user);
}
static void
@@ -784,7 +777,6 @@ on_new_user_loaded (GdmUser *user,
g_signal_handlers_disconnect_by_func (user, on_new_user_loaded, manager);
manager->priv->new_users = g_slist_remove (manager->priv->new_users,
user);
- g_object_weak_unref (G_OBJECT (user), (GWeakNotify) on_new_user_destroyed, manager);
username = gdm_user_get_user_name (user);