diff options
author | Michael Braun <michael-dev@fami-braun.de> | 2011-03-08 16:52:56 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2011-03-08 17:01:02 -0500 |
commit | 66a8a9ed1bb96fdeb8288bb9537b7e1a9c1695c8 (patch) | |
tree | a6d4c85ae043b2fee80f7b258403b76354e3bafd /gui | |
parent | 155ffa120776479c83df8b43228273ffc748fec1 (diff) | |
download | gdm-66a8a9ed1bb96fdeb8288bb9537b7e1a9c1695c8.tar.gz |
greeter: disable the login button in MODE_AUTHENTICATION if no query is pending
If the user does not need a password to login with gdm, then hitting the
"log in" button causes gdm to crash. This seems to be due to an
AnswerQuery DBUS message being generated even if the password input
field is not visible and an password has not been requested. The user
has a real opportunity to hit this bug at least if pam_mkhomedir is in
use and needs some time to finish due to the size of the skeleton.
This commit desensitizes the Login button when it's unavailable.
https://bugzilla.gnome.org/show_bug.cgi?id=643176
Diffstat (limited to 'gui')
-rw-r--r-- | gui/simple-greeter/gdm-greeter-login-window.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c index 10127eac..abd67076 100644 --- a/gui/simple-greeter/gdm-greeter-login-window.c +++ b/gui/simple-greeter/gdm-greeter-login-window.c @@ -509,14 +509,17 @@ switch_mode (GdmGreeterLoginWindow *login_window, switch (number) { case MODE_SELECTION: set_log_in_button_mode (login_window, LOGIN_BUTTON_HIDDEN); + set_sensitive (login_window, TRUE); gtk_widget_hide (login_window->priv->session_option_widget); break; case MODE_TIMED_LOGIN: set_log_in_button_mode (login_window, LOGIN_BUTTON_TIMED_LOGIN); + set_sensitive (login_window, TRUE); gtk_widget_show (login_window->priv->session_option_widget); break; case MODE_AUTHENTICATION: set_log_in_button_mode (login_window, LOGIN_BUTTON_ANSWER_QUERY); + set_sensitive (login_window, FALSE); gtk_widget_show (login_window->priv->session_option_widget); break; default: @@ -682,7 +685,6 @@ reset_dialog (GdmGreeterLoginWindow *login_window, switch_mode (login_window, dialog_mode); } - set_sensitive (login_window, TRUE); set_ready (login_window); set_focus (GDM_GREETER_LOGIN_WINDOW (login_window)); update_banner_message (login_window); |