static void update_switch_user (ShellStatusMenu *status) { ShellStatusMenuPrivate *priv = status->priv; GSList *users; users = gdm_user_manager_list_users (priv->manager); priv->has_other_users = FALSE; if (users != NULL) priv->has_other_users = g_slist_length (users) > 1; g_slist_free (users); if (priv->has_other_users) gtk_widget_show (priv->login_screen_item); else gtk_widget_hide (priv->login_screen_item); }
static void on_users_loaded (GdmUserManager *manager, GdmUserChooserWidget *widget) { GSList *users; widget->priv->loaded = TRUE; g_debug ("GdmUserChooserWidget: Users loaded"); users = gdm_user_manager_list_users (manager); while (users != NULL) { add_user (widget, users->data); users = g_slist_delete_link (users, users); } gtk_widget_grab_focus (GTK_WIDGET (widget)); gdm_chooser_widget_loaded (GDM_CHOOSER_WIDGET (widget)); }