]> git.sur5r.net Git - i3/i3lock/commitdiff
Bug fix: Call clear_input() when the password is wrong.
authoroblique <psyberbits@gmail.com>
Thu, 17 Oct 2013 10:35:33 +0000 (13:35 +0300)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 20 Oct 2013 20:34:22 +0000 (22:34 +0200)
clear_input() calls start_clear_indicator_timeout() to clear the
indicator after 1 second. This had as a result the screen to be cleared
when the "verifying…" message was showed, so the "wrong!" message didn't
show up when the password was wrong.

First bad commit: a305e62

i3lock.c

index 7d1f7b325cbb00c04dcb338e720950dc27ea126a..2d8a580e9b905dc2045dea56526c7ddfd2512ffa 100644 (file)
--- a/i3lock.c
+++ b/i3lock.c
@@ -205,6 +205,7 @@ static void auth_failed(void) {
         fprintf(stderr, "Authentication failure\n");
 
     pam_state = STATE_PAM_WRONG;
+    clear_input();
     redraw_screen();
 
     /* Clear this state after 2 seconds (unless the user enters another
@@ -258,7 +259,6 @@ static void input_done(void) {
     if (cpid == 0) {
         exit(pam_authenticate(pam_handle, 0) == PAM_SUCCESS);
     } else if (cpid > 0) {
-        clear_input();
         struct ev_child *child_watcher = calloc(sizeof(struct ev_io), 1);
         ev_child_init(child_watcher, child_cb, cpid, 0);
         ev_child_set(child_watcher, cpid, 0);