You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
2.4 KiB
71 lines
2.4 KiB
# Description: Select the current user to authenticate with by default |
|
# Ubuntu: https://launchpad.net/bugs/435227 |
|
# Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=596188 |
|
|
|
Index: policykit-1-gnome/src/polkitgnomeauthenticationdialog.c |
|
=================================================================== |
|
--- policykit-1-gnome.orig/src/polkitgnomeauthenticationdialog.c 2011-03-04 00:06:46.599981036 +0100 |
|
+++ policykit-1-gnome/src/polkitgnomeauthenticationdialog.c 2011-03-04 00:07:11.211981036 +0100 |
|
@@ -138,7 +138,7 @@ |
|
static void |
|
create_user_combobox (PolkitGnomeAuthenticationDialog *dialog) |
|
{ |
|
- int n; |
|
+ int n, i, selected_index = 0; |
|
GtkComboBox *combo; |
|
GtkTreeIter iter; |
|
GtkCellRenderer *renderer; |
|
@@ -162,7 +162,7 @@ |
|
|
|
|
|
/* For each user */ |
|
- for (n = 0; dialog->priv->users[n] != NULL; n++) |
|
+ for (i = 0, n = 0; dialog->priv->users[n] != NULL; n++) |
|
{ |
|
gchar *gecos; |
|
gchar *real_name; |
|
@@ -224,6 +224,14 @@ |
|
USERNAME_COL, dialog->priv->users[n], |
|
-1); |
|
|
|
+ i++; |
|
+ if (passwd->pw_uid == getuid ()) |
|
+ { |
|
+ selected_index = i; |
|
+ g_free (dialog->priv->selected_user); |
|
+ dialog->priv->selected_user = g_strdup (dialog->priv->users[n]); |
|
+ } |
|
+ |
|
g_free (real_name); |
|
g_object_unref (pixbuf); |
|
} |
|
@@ -252,8 +260,8 @@ |
|
user_combobox_set_sensitive, |
|
NULL, NULL); |
|
|
|
- /* Initially select the "Select user..." ... */ |
|
- gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0); |
|
+ /* Select the default user */ |
|
+ gtk_combo_box_set_active (GTK_COMBO_BOX (combo), selected_index); |
|
|
|
/* Listen when a new user is selected */ |
|
g_signal_connect (GTK_WIDGET (combo), |
|
@@ -719,16 +727,13 @@ |
|
gtk_widget_set_tooltip_markup (label, s); |
|
g_free (s); |
|
|
|
- if (have_user_combobox) |
|
+ /* Disable password entry and authenticate until have a user selected */ |
|
+ if (have_user_combobox && gtk_combo_box_get_active (GTK_COMBO_BOX (dialog->priv->user_combobox)) == 0) |
|
{ |
|
- /* ... and make the password entry and "Authenticate" button insensitive */ |
|
gtk_widget_set_sensitive (dialog->priv->prompt_label, FALSE); |
|
gtk_widget_set_sensitive (dialog->priv->password_entry, FALSE); |
|
gtk_widget_set_sensitive (dialog->priv->auth_button, FALSE); |
|
} |
|
- else |
|
- { |
|
- } |
|
|
|
gtk_widget_realize (GTK_WIDGET (dialog)); |
|
|
|
|