[gdm] greeter: disable the login button in MODE_AUTHENTICATION if no query is pending
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] greeter: disable the login button in MODE_AUTHENTICATION if no query is pending
- Date: Tue, 8 Mar 2011 22:01:13 +0000 (UTC)
commit 66a8a9ed1bb96fdeb8288bb9537b7e1a9c1695c8
Author: Michael Braun <michael-dev fami-braun de>
Date: Tue Mar 8 16:52:56 2011 -0500
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
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 10127ea..abd6707 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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]