Index: gui/gdmlogin.c =================================================================== 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 --- gui/gdmlogin.c 22 Nov 2005 20:43:50 -0000 1.245.2.8 +++ gui/gdmlogin.c 31 May 2006 10:26:02 -0000 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); --- gui/greeter/greeter.c.cve-2006-2452 2006-06-13 14:07:07.955469267 -0600 +++ gui/greeter/greeter.c 2006-06-13 14:09:19.922684739 -0600 @@ -383,7 +383,6 @@ buf[len-1] = '\0'; greeter_item_pam_set_user (buf); - greeter_item_ulist_enable (); printf ("%c\n", STX); fflush (stdout); break; @@ -537,6 +536,8 @@ printf ("%c\n", STX); fflush (stdout); + greeter_item_ulist_enable (); + break; case GDM_QUIT: @@ -1657,6 +1658,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 (); + setup_background (); /* can it ever happen that it'd be NULL here ??? */ Index: gui/greeter/greeter_item_ulist.c =================================================================== RCS file: /cvs/gnome/gdm2/gui/greeter/greeter_item_ulist.c,v retrieving revision 1.18.2.3 retrieving revision 1.18.2.4 diff -u -r1.18.2.3 -r1.18.2.4 --- gui/greeter/greeter_item_ulist.c 22 Nov 2005 20:43:50 -0000 1.18.2.3 +++ gui/greeter/greeter_item_ulist.c 31 May 2006 10:26:02 -0000 1.18.2.4 @@ -62,6 +62,14 @@ GREETER_ULIST_ACTIVE_COLUMN }; +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); +} + static void check_for_displays (void) { @@ -325,8 +333,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 Index: gui/greeter/greeter_item_ulist.h =================================================================== RCS file: /cvs/gnome/gdm2/gui/greeter/greeter_item_ulist.h,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -u -r1.2 -r1.2.2.1 --- gui/greeter/greeter_item_ulist.h 6 Apr 2005 19:37:29 -0000 1.2 +++ gui/greeter/greeter_item_ulist.h 31 May 2006 10:26:02 -0000 1.2.2.1 @@ -25,5 +25,6 @@ void greeter_item_ulist_enable (void); void greeter_item_ulist_disable (void); void greeter_item_ulist_set_user (const char *user); +void greeter_item_ulist_unset_selected_user (void); #endif Index: gui/greeter/greeter_system.c =================================================================== 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 --- gui/greeter/greeter_system.c 17 Aug 2005 22:27:59 -0000 1.30.2.1 +++ gui/greeter/greeter_system.c 31 May 2006 10:26:02 -0000 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);