* gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_system.c: Correct serious issue where user can enter the configure screen with their user password instead of the root password. Fixes bug #343476. =================================================================== RCS file: /cvs/gnome/gdm2/gui/greeter/greeter.c,v retrieving revision 1.95.2.5 retrieving revision 1.95.2.6 diff -u -r1.95.2.5 -r1.95.2.6 --- greeter.c 2005/11/22 07:51:29 1.95.2.5 +++ greeter.c 2006/05/31 10:26:02 1.95.2.6 @@ -384,7 +384,6 @@ buf[len-1] = '\0'; greeter_item_pam_set_user (buf); - greeter_item_ulist_enable (); printf ("%c\n", STX); fflush (stdout); break; @@ -541,6 +540,8 @@ printf ("%c\n", STX); fflush (stdout); greeter_ignore_buttons (FALSE); + greeter_item_ulist_enable (); + break; case GDM_QUIT: @@ -1504,6 +1505,9 @@ gtk_window_move (GTK_WINDOW (window), gdm_wm_screen.x, gdm_wm_screen.y); gtk_widget_show_now (window); + greeter_item_ulist_unset_selected_user (); + greeter_item_ulist_enable (); + /* can it ever happen that it'd be NULL here ??? */ if G_UNLIKELY (window->window != NULL) { =================================================================== RCS file: /cvs/gnome/gdm2/gui/greeter/greeter_item_ulist.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- greeter_item_ulist.c 2006/05/23 00:35:02 1.28 +++ greeter_item_ulist.c 2006/05/31 09:24:08 1.29 @@ -65,6 +65,10 @@ void greeter_item_ulist_unset_selected_user (void) { + GtkTreeSelection *selection; + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (user_list)); + gtk_tree_selection_unselect_all (selection); + if (selected_user != NULL) g_free (selected_user); selected_user = NULL; @@ -350,8 +354,6 @@ force_no_tree_separators (user_list); greeter_generate_userlist (user_list); - if ( ! DOING_GDM_DEVELOPMENT) - greeter_item_ulist_disable (); /* Reset size of the widget canvas item so it * is the same size as the userlist. This =================================================================== RCS file: /cvs/gnome/gdm2/gui/greeter/greeter_system.c,v retrieving revision 1.30.2.1 retrieving revision 1.30.2.2 diff -u -r1.30.2.1 -r1.30.2.2 --- greeter_system.c 2005/08/17 22:27:59 1.30.2.1 +++ greeter_system.c 2006/05/31 10:26:02 1.30.2.2 @@ -119,6 +119,11 @@ static void greeter_config_handler (void) { + greeter_item_ulist_disable (); + + /* Make sure to unselect the user */ + greeter_item_ulist_unset_selected_user (); + /* we should be now fine for focusing new windows */ gdm_wm_focus_new_windows (TRUE); =================================================================== RCS file: /cvs/gnome/gdm2/gui/gdmlogin.c,v retrieving revision 1.245.2.8 retrieving revision 1.245.2.9 diff -u -r1.245.2.8 -r1.245.2.9 --- gdmlogin.c 2005/11/22 20:43:50 1.245.2.8 +++ gdmlogin.c 2006/05/31 10:26:02 1.245.2.9 @@ -798,6 +798,8 @@ static void gdm_run_gdmconfig (GtkWidget *w, gpointer data) { + gtk_widget_set_sensitive (browser, FALSE); + /* we should be now fine for focusing new windows */ gdm_wm_focus_new_windows (TRUE);