diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2011-07-22 13:39:54 +1000 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2011-07-22 13:39:54 +1000 |
commit | 19781762b88e64664c6f415ac4c28d87c730763e (patch) | |
tree | bec9ae4a863e8d75feb485bcd03d1e054606d751 /doc | |
parent | bc7f854cdf9b159476017430c3e87e8809c3c24b (diff) | |
download | lightdm-19781762b88e64664c6f415ac4c28d87c730763e.tar.gz |
Fix example
Diffstat (limited to 'doc')
-rw-r--r-- | doc/tmpl/greeter.sgml | 43 |
1 files changed, 16 insertions, 27 deletions
diff --git a/doc/tmpl/greeter.sgml b/doc/tmpl/greeter.sgml index 101e7f02..07777f5b 100644 --- a/doc/tmpl/greeter.sgml +++ b/doc/tmpl/greeter.sgml @@ -14,25 +14,23 @@ Make a connection to the LightDM daemon and authenticate users <programlisting><![CDATA[ int main () { - LightDMGreeter *greeter = lightdm_greeter_new (); + GMainLoop *main_loop; + LightDMGreeter *greeter + main_loop = g_main_loop_new (); + + greeter = lightdm_greeter_new (); g_object_connect (greeter, "show-prompt", G_CALLBACK (show_prompt_cb), NULL); g_object_connect (greeter, "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL); - if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter))) { - // Log an error + // Connect to LightDM daemon + if (!lightdm_greeter_connect_sync (LIGHTDM_GREETER (greeter))) return EXIT_FAILURE; - } - while (TRUE) - { - // Start authentication - while (!lightdm_greeter_get_is_authenticated (greeter)) - lightdm_greeter_authenticate (greeter, NULL); + // Start authentication + lightdm_greeter_authenticate (greeter, NULL); - if (lightdm_greeter_start_session_sync (greeter, NULL)) - return EXIT_SUCCESS; - } + g_main_loop_run (main_loop); return EXIT_SUCCESS; } @@ -48,23 +46,14 @@ static void show_prompt_cb (LightDMGreeter *greeter, const char *text, LightDMPr static void authentication_complete_cb (LightDMGreeter *greeter) { - if (lightdm_greeter_get_is_authenticated (greeter)) { - // Start the user session - lightdm_greeter_start_default_session (greeter); - } - else { - // Display a warning and reset the greeter - reset_login_screen (``Incorrect password, please try again''); + // Start the session + if (!lightdm_greeter_get_is_authenticated (greeter) || + !lightdm_greeter_start_session_sync (greeter)) + { + // Failed authentication, try again + lightdm_greeter_authenticate (greeter, NULL); } } - -static void quit_cb (LightDMGreeter *greeter) -{ - // Clean up - // ... - - exit (0); -} ]]></programlisting> </example> </para> |