diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-04-28 16:44:42 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-04-29 02:15:18 +0200 |
commit | 5b94ddbf7213238bb173f30359c61bf2f9b13522 (patch) | |
tree | ad4f042ca49fb81809744d80bd60d0945f75be81 /libkdenetwork/gpgmepp/callbacks.cpp | |
parent | 0cd571409611487bb7798e2e3868f3d35e5f4297 (diff) | |
download | tdepim-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.cpp | 7 |
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 ); |