And this time, I'll add the patch.
-- 
<pixie> Ganneff is just a big cuddly teddy bear.
<pixie> Our photo proves it.
--- gdm2_2.4.7/gui/gdmlogin.c   2006-05-12 06:58:23.000000000 +0100
+++ gdm2_2.4.8/gui/gdmlogin.c   2006-05-31 11:11:52.000000000 +0100
@@ -640,6 +640,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);
 
--- gdm2_2.4.7/gui/greeter/greeter.c    2006-04-17 23:00:42.000000000 +0100
+++ gdm2_2.4.8/gui/greeter/greeter.c    2006-05-31 11:11:53.000000000 +0100
@@ -160,7 +160,6 @@
        buf[len-1] = '\0';
        
        greeter_item_pam_set_user (buf);
-       greeter_item_ulist_enable ();
        printf ("%c\n", STX);
        fflush (stdout);
        break;
@@ -179,7 +178,6 @@
                greeter_probably_login_prompt = FALSE;
        }
        greeter_ignore_buttons (FALSE);
-       greeter_item_ulist_enable ();
        greeter_item_pam_prompt (tmp, PW_ENTRY_SIZE, TRUE);
        g_free (tmp);
        break;
@@ -320,6 +318,8 @@
        printf ("%c\n", STX);
        fflush (stdout);
        greeter_ignore_buttons (FALSE);
+       greeter_item_ulist_enable ();
+
        break;
 
     case GDM_QUIT:
@@ -1342,6 +1342,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)
     {
--- gdm2_2.4.7/gui/greeter/greeter_item_ulist.c 2006-03-28 02:44:21.000000000 
+0100
+++ gdm2_2.4.8/gui/greeter/greeter_item_ulist.c 2006-05-31 11:11:53.000000000 
+0100
@@ -61,6 +61,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
--- gdm2_2.4.7/gui/greeter/greeter_item_ulist.h 2005-04-06 20:37:29.000000000 
+0100
+++ gdm2_2.4.8/gui/greeter/greeter_item_ulist.h 2006-05-31 11:11:53.000000000 
+0100
@@ -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
--- gdm2_2.4.7/gui/greeter/greeter_system.c     2006-02-11 01:33:59.000000000 
+0000
+++ gdm2_2.4.8/gui/greeter/greeter_system.c     2006-05-31 11:11:53.000000000 
+0100
@@ -124,6 +124,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);
 

Attachment: signature.asc
Description: Digital signature



Reply via email to