aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/passphrase.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/passphrase.c b/src/passphrase.c
index 140cd03a..d07afa91 100644
--- a/src/passphrase.c
+++ b/src/passphrase.c
@@ -114,6 +114,11 @@ _gpgme_passphrase_status_handler (void *priv, gpgme_status_code_t code,
case GPGME_STATUS_CANCELED_BY_USER:
return gpg_error (GPG_ERR_CANCELED);
+ case GPGME_STATUS_PINENTRY_LAUNCHED:
+ /* Another pinentry is invoked, reset the passphrase status. */
+ opd->no_passphrase = opd->bad_passphrase = 0;
+ break;
+
case GPGME_STATUS_EOF:
if (opd->no_passphrase || opd->bad_passphrase)
return gpg_error (GPG_ERR_BAD_PASSPHRASE);