diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 9f5bbe60..60b4e503 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,5 +1,7 @@ 2008-01-10 Marcus Brinkmann + * kdpipeiodevice.cpp: New version from Frank Osterfeld. + * engine-gpgconf.c (gpgconf_config_load_cb2): Handle the flag NO_ARG_DESC. diff --git a/gpgme/kdpipeiodevice.cpp b/gpgme/kdpipeiodevice.cpp index 9e0179c9..dd2503bd 100644 --- a/gpgme/kdpipeiodevice.cpp +++ b/gpgme/kdpipeiodevice.cpp @@ -329,11 +329,14 @@ void KDPipeIODevice::Private::emitReadyRead() emit q->readyRead(); if ( !thisPointer ) - return; - qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locking reader (CONSUMER THREAD)", this, counter ); - synchronized( reader ) { - qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locked reader (CONSUMER THREAD)", this, counter ); - reader->readyReadSentCondition.wakeAll(); + return; + + if ( reader ) { + qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locking reader (CONSUMER THREAD)", this, counter ); + synchronized( reader ) { + qDebug( "KDPipeIODevice::Private::emitReadyRead %p, %d: locked reader (CONSUMER THREAD)", this, counter ); + reader->readyReadSentCondition.wakeAll(); + } } qDebug( "KDPipeIODevice::Private::emitReadyRead %p leaving %d", this, counter ); @@ -704,7 +707,7 @@ void Reader::run() { while ( !cancel && !error && bufferFull() ) { notifyReadyRead(); - if ( bufferFull() ) { + if ( !cancel && bufferFull() ) { qDebug( "%p: Reader::run: buffer is full, going to sleep", this ); bufferNotFullCondition.wait( &mutex ); }