summaryrefslogtreecommitdiffstats
path: root/libkdenetwork/gpgmepp/callbacks.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-04-28 16:44:42 -0500
committerSlávek Banko <slavek.banko@axis.cz>2013-04-29 02:15:18 +0200
commit5b94ddbf7213238bb173f30359c61bf2f9b13522 (patch)
treead4f042ca49fb81809744d80bd60d0945f75be81 /libkdenetwork/gpgmepp/callbacks.cpp
parent0cd571409611487bb7798e2e3868f3d35e5f4297 (diff)
downloadtdepim-5b94ddbf7213238bb173f30359c61bf2f9b13522.tar.gz
tdepim-5b94ddbf7213238bb173f30359c61bf2f9b13522.zip
Fix retriggering of GPGMe socket notifiers in nested event loops
This resolves Bug 825 Add missing GPGMe feature checks to CMake (cherry picked from commit 7bd54f5a796f6f1276bbd310deaf1f2ac673954d)
Diffstat (limited to 'libkdenetwork/gpgmepp/callbacks.cpp')
-rw-r--r--libkdenetwork/gpgmepp/callbacks.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/libkdenetwork/gpgmepp/callbacks.cpp b/libkdenetwork/gpgmepp/callbacks.cpp
index 268c280e..3913b6fb 100644
--- a/libkdenetwork/gpgmepp/callbacks.cpp
+++ b/libkdenetwork/gpgmepp/callbacks.cpp
@@ -64,9 +64,10 @@ gpgme_error_t passphrase_callback( void * opaque, const char * uid_hint, const c
bool canceled = false;
gpgme_error_t err = GPG_ERR_NO_ERROR;
char * passphrase = provider ? provider->getPassphrase( uid_hint, desc, prev_was_bad, canceled ) : 0 ;
- if ( canceled )
+ if ( canceled ) {
err = makeError( GPG_ERR_CANCELED );
- else
+ }
+ else {
if ( passphrase && *passphrase ) {
size_t passphrase_length = strlen( passphrase );
size_t written = 0;
@@ -79,7 +80,7 @@ gpgme_error_t passphrase_callback( void * opaque, const char * uid_hint, const c
written += now_written;
} while ( written < passphrase_length );
}
-
+ }
if ( passphrase && *passphrase )
wipe( passphrase, strlen( passphrase ) );
free( passphrase );