diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-01 00:37:02 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-09-01 00:37:02 +0000 |
commit | cc29364f06178f8f6b457384f2ec37a042bd9d43 (patch) | |
tree | 7c77a3184c698bbf9d98cef09fb1ba8124daceba /certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp | |
parent | 4f6c584bacc8c3c694228f36ada3de77a76614a6 (diff) | |
download | tdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.tar.gz tdepim-cc29364f06178f8f6b457384f2ec37a042bd9d43.zip |
* Massive set of changes to bring in all fixes and enhancements from the Enterprise PIM branch
* Ensured that the Trinity changes were applied on top of those enhancements, and any redundancy removed
* Added journal read support to the CalDAV resource
* Fixed CalDAV resource to use events URL for tasks and journals when separate URL checkbox unchecked
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1170461 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp')
-rw-r--r-- | certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp b/certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp index 9e663e92d..b07135f01 100644 --- a/certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp +++ b/certmanager/lib/backends/qgpgme/qgpgmekeylistjob.cpp @@ -48,6 +48,7 @@ #include <kdebug.h> #include <tqstringlist.h> +#include <tqtimer.h> #include <algorithm> @@ -97,6 +98,10 @@ GpgME::Error Kleo::QGpgMEKeyListJob::start( const TQStringList & pats, bool secr kdDebug(5150) << "QGpgMEKeyListJob::start(): retrying keylisting with chunksize " << chunkSize() << endl; continue; } + } else if ( err.code() == GPG_ERR_EOF ) { + kdDebug(5150) << "QGpgMEKeyListJob::start(): early end of keylisting, trying to fake an empty result" << endl; + TQTimer::singleShot( 10, this, TQT_SLOT(slotFakeOperationDoneEvent()) ); + return GpgME::Error(); } deleteLater(); mResult = GpgME::KeyListResult( 0, err ); @@ -158,6 +163,17 @@ void Kleo::QGpgMEKeyListJob::slotNextKeyEvent( GpgME::Context * context, const G emit nextKey( key ); } +void Kleo::QGpgMEKeyListJob::slotFakeOperationDoneEvent() { + const GpgME::KeyListResult res = mCtx->keyListResult(); + if ( !res.error().code() == GPG_ERR_EOF ) + kdDebug(5150) << "QGpgMEKeyListJob::slotFakeOperationDoneEvent: expected EOF, got " + << res.error().asString() << endl; + mResult = GpgME::KeyListResult(); + emit done(); + emit result( mResult ); + deleteLater(); +} + void Kleo::QGpgMEKeyListJob::slotOperationDoneEvent( GpgME::Context * context, const GpgME::Error & ) { if ( context != mCtx ) return; |