=== modified file 'src/unity-greeter.vala' --- old/src/unity-greeter.vala 2014-02-05 09:09:24 +0000 +++ new/src/unity-greeter.vala 2014-04-30 03:24:55 +0000 @@ -48,6 +48,7 @@ private LightDM.Greeter greeter; private bool prompted = false; + private bool unacknowledged_messages = false; private bool clear_messages = false; private List active_prompts; @@ -83,6 +84,7 @@ { "four-layouts", "Four Layouts", "*", "de\tdvorak;ca;gb;fr\toss", false, false, null }, { "hy-layout", "Layout Is 'hy'", "*", "am\teastern-alt", false, false, null }, // inherits parent layout's short_desc { "no-response", "No Response", "*", null, false, false, null }, + { "messages-after-login", "Messages After Login", "*", null, false, false, null }, { "", "", null, null, false, false, null } }; private List test_backgrounds; @@ -361,6 +363,7 @@ private void show_message_cb (string text, LightDM.MessageType type) { + unacknowledged_messages = true; if (clear_messages) { user_list.clear_messages (); @@ -443,8 +446,8 @@ if (is_authenticated) { - /* Login immediately if prompted */ - if (prompted) + /* Login immediately if prompted and user has acknowledged all messages */ + if (prompted && !unacknowledged_messages) { user_list.login_complete (); if (!test_mode) @@ -517,6 +520,7 @@ private void start_authentication () { prompted = false; + unacknowledged_messages = false; active_prompts = new List (); /* Reset manual username */ @@ -601,6 +605,8 @@ private void respond_to_prompt_cb (string text) { + unacknowledged_messages = false; + /* Prompt complete */ active_prompts.remove_link (active_prompts.first ()); Prompt? next_prompt = null; @@ -691,6 +697,12 @@ show_message_cb ("Account is locked", LightDM.MessageType.ERROR); authentication_complete_cb (); break; + case "messages-after-login": + test_is_authenticated = text == "password"; + if (test_is_authenticated) + show_message_cb ("Congratulations on logging in!", LightDM.MessageType.INFO); + authentication_complete_cb (); + break; default: test_is_authenticated = text == "password"; authentication_complete_cb (); @@ -718,7 +730,10 @@ /* Finish authentication (again) or restart it */ if (is_authenticated) + { + unacknowledged_messages = false; authentication_complete_cb (); + } else { user_list.clear_messages ();