diff options
author | Ray Strode <rstrode@redhat.com> | 2009-02-05 15:20:25 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2011-03-08 01:04:22 -0500 |
commit | 7f4a779aa7d0e612db668f052fec5dac15a2f0bb (patch) | |
tree | 51bd1e0aed2165a588341a1d1ad9d3e0073ddaaa | |
parent | cb6ce72d901d6b4eef629de3548c25177e10029a (diff) | |
download | gdm-7f4a779aa7d0e612db668f052fec5dac15a2f0bb.tar.gz |
daemon: ignore requests when in middle of reset
If we're starting to tear things down then stop handling
any asynchronous requests that fly by.
-rw-r--r-- | daemon/gdm-simple-slave.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c index c5771965..3e0ed5c8 100644 --- a/daemon/gdm-simple-slave.c +++ b/daemon/gdm-simple-slave.c @@ -961,6 +961,9 @@ on_greeter_begin_auto_login (GdmGreeterServer *greeter_server, GdmSimpleSlave *slave) { g_debug ("GdmSimpleSlave: begin auto login for user '%s'", username); + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_setup_for_user (GDM_SESSION (slave->priv->session), "gdm-autologin", username); @@ -972,6 +975,9 @@ on_greeter_begin_verification_for_user (GdmGreeterServer *greeter_server, GdmSimpleSlave *slave) { g_debug ("GdmSimpleSlave: begin verification"); + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_setup_for_user (GDM_SESSION (slave->priv->session), "gdm", username); @@ -982,6 +988,9 @@ on_greeter_answer (GdmGreeterServer *greeter_server, const char *text, GdmSimpleSlave *slave) { + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_answer_query (GDM_SESSION (slave->priv->session), text); } @@ -990,6 +999,9 @@ on_greeter_session_selected (GdmGreeterServer *greeter_server, const char *text, GdmSimpleSlave *slave) { + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_select_session (GDM_SESSION (slave->priv->session), text); } @@ -998,6 +1010,9 @@ on_greeter_language_selected (GdmGreeterServer *greeter_server, const char *text, GdmSimpleSlave *slave) { + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_select_language (GDM_SESSION (slave->priv->session), text); } @@ -1024,6 +1039,9 @@ on_greeter_connected (GdmGreeterServer *greeter_server, gboolean display_is_local; g_debug ("GdmSimpleSlave: Greeter connected"); + if (slave->priv->greeter_reset_id > 0) { + return; + } gdm_session_start_conversation (GDM_SESSION (slave->priv->session)); @@ -1059,6 +1077,9 @@ on_start_session_when_ready (GdmGreeterServer *session, GdmSimpleSlave *slave) { g_debug ("GdmSimpleSlave: Will start session when ready"); + if (slave->priv->greeter_reset_id > 0) { + return; + } slave->priv->start_session_when_ready = TRUE; if (slave->priv->waiting_to_start_session) { @@ -1071,6 +1092,9 @@ on_start_session_later (GdmGreeterServer *session, GdmSimpleSlave *slave) { g_debug ("GdmSimpleSlave: Will start session when ready and told"); + if (slave->priv->greeter_reset_id > 0) { + return; + } slave->priv->start_session_when_ready = FALSE; } |