[Pkg-gnupg-commit] [gpgme] 80/103: qt: Fix IODeviceDataProvider with Process
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Thu Dec 14 18:53:06 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gpgme.
commit 56b27b21d5f8dd95b9d6415c5e98b821774f3093
Author: Andre Heinecke <aheinecke at intevation.de>
Date: Tue Nov 14 14:28:32 2017 +0100
qt: Fix IODeviceDataProvider with Process
* lang/qt/src/dataprovider.cpp (blocking_read): Keep
reading if process is not atEnd.
--
This fixes a regression in Kleopatra that uses this dataprovider
to chain the gpgtar process to the encryption / signing.
---
lang/qt/src/dataprovider.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lang/qt/src/dataprovider.cpp b/lang/qt/src/dataprovider.cpp
index 0d527a0..a025a03 100644
--- a/lang/qt/src/dataprovider.cpp
+++ b/lang/qt/src/dataprovider.cpp
@@ -185,7 +185,11 @@ static qint64 blocking_read(const std::shared_ptr<QIODevice> &io, char *buffer,
if (p->error() == QProcess::UnknownError &&
p->exitStatus() == QProcess::NormalExit &&
p->exitCode() == 0) {
- return 0;
+ if (io->atEnd()) {
+ // EOF
+ return 0;
+ } // continue reading even if process ended to ensure
+ // everything is read.
} else {
Error::setSystemError(GPG_ERR_EIO);
return -1;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gpgme.git
More information about the Pkg-gnupg-commit
mailing list