summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2009-04-13 14:19:50 -0400
committerRay Strode <rstrode@redhat.com>2009-04-17 10:24:53 -0400
commitc98a8ac6971b44071aef38a29b550378554a733b (patch)
treece07b43361de74d9d77d99997654055ac5af002e
parent996f22a0da8d207932f1efc1b30b337c485fa681 (diff)
downloadgdm-c98a8ac6971b44071aef38a29b550378554a733b.tar.gz
reset all conversations if password conversation fails
This is a temporary hack until we store plugin policy in gconf.
-rw-r--r--gui/simple-greeter/gdm-greeter-login-window.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
index a16948f9..3daf89d0 100644
--- a/gui/simple-greeter/gdm-greeter-login-window.c
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
@@ -907,6 +907,16 @@ gdm_greeter_login_window_conversation_stopped (GdmGreeterLoginWindow *login_wind
g_debug ("GdmGreeterLoginWindow: conversation '%s' has stopped", service_name);
+ /* If the password conversation failed, then start over
+ *
+ * FIXME: we need to get this policy out of the source code
+ */
+ if (strcmp (service_name, "gdm-password") == 0) {
+ g_debug ("GdmGreeterLoginWindow: main conversation failed, starting over");
+ restart_conversations (login_window);
+ return TRUE;
+ }
+
task = find_task_with_service_name (login_window, service_name);
if (task != NULL) {