diff -Naurp lightdm-gtk-greeter-2.0.1.orig/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-2.0.1/src/lightdm-gtk-greeter.c --- lightdm-gtk-greeter-2.0.1.orig/src/lightdm-gtk-greeter.c 2015-05-21 02:40:39.000000000 +0000 +++ lightdm-gtk-greeter-2.0.1/src/lightdm-gtk-greeter.c 2016-08-05 13:20:47.056685146 +0000 @@ -1919,6 +1919,7 @@ start_authentication (const gchar *usern prompted = FALSE; password_prompted = FALSE; prompt_active = FALSE; + GError *error = NULL; if (pending_questions) { @@ -1932,11 +1933,11 @@ start_authentication (const gchar *usern { gtk_widget_show (GTK_WIDGET (username_entry)); gtk_widget_show (GTK_WIDGET (cancel_button)); - lightdm_greeter_authenticate (greeter, NULL); + lightdm_greeter_authenticate (greeter, NULL, &error); } else if (g_strcmp0 (username, "*guest") == 0) { - lightdm_greeter_authenticate_as_guest (greeter); + lightdm_greeter_authenticate_as_guest (greeter, &error); } else { @@ -1956,7 +1957,7 @@ start_authentication (const gchar *usern set_language (NULL); } - lightdm_greeter_authenticate (greeter, username); + lightdm_greeter_authenticate (greeter, username, &error); } } @@ -1966,6 +1967,7 @@ cancel_authentication (void) GtkTreeModel *model; GtkTreeIter iter; gboolean other = FALSE; + GError *error = NULL; if (pending_questions) { @@ -1978,7 +1980,7 @@ cancel_authentication (void) if (lightdm_greeter_get_in_authentication (greeter)) { cancelling = TRUE; - lightdm_greeter_cancel_authentication (greeter); + lightdm_greeter_cancel_authentication (greeter, &error); set_message_label (LIGHTDM_MESSAGE_TYPE_INFO, NULL); } @@ -2009,10 +2011,11 @@ start_session (void) { gchar *language; gchar *session; + GError *error = NULL; language = get_language (); if (language) - lightdm_greeter_set_language (greeter, language); + lightdm_greeter_set_language (greeter, language, &error); g_free (language); session = get_session (); @@ -2220,6 +2223,8 @@ G_MODULE_EXPORT void login_cb (GtkWidget *widget) { + GError *error = NULL; + /* Reset to default screensaver values */ if (lightdm_greeter_get_lock_hint (greeter)) XSetScreenSaver (gdk_x11_display_get_xdisplay (gdk_display_get_default ()), timeout, interval, prefer_blanking, allow_exposures); @@ -2233,7 +2238,7 @@ login_cb (GtkWidget *widget) start_session (); else if (lightdm_greeter_get_in_authentication (greeter)) { - lightdm_greeter_respond (greeter, gtk_entry_get_text (password_entry)); + lightdm_greeter_respond (greeter, gtk_entry_get_text (password_entry), &error); /* If we have questions pending, then we continue processing * those, until we are done. (Otherwise, authentication will * not complete.) */ @@ -2306,6 +2311,8 @@ show_message_cb (LightDMGreeter *greeter static void timed_autologin_cb (LightDMGreeter *greeter) { + GError *error = NULL; + /* Don't trigger autologin if user locks screen with light-locker (thanks to Andrew P.). */ if (!lightdm_greeter_get_lock_hint (greeter)) { @@ -2326,7 +2333,7 @@ timed_autologin_cb (LightDMGreeter *gree } } else - lightdm_greeter_authenticate_autologin (greeter); + lightdm_greeter_authenticate_autologin (greeter, &error); } }