diff --git a/src/third_party/qtsingleapplication/qtlocalpeer.cpp b/src/third_party/qtsingleapplication/qtlocalpeer.cpp index 1d494a73..57ac9699 100644 --- a/src/third_party/qtsingleapplication/qtlocalpeer.cpp +++ b/src/third_party/qtsingleapplication/qtlocalpeer.cpp @@ -57,6 +57,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0; #endif #if defined(Q_OS_UNIX) #include +#include #endif namespace QtLP_Private { @@ -164,8 +165,12 @@ bool QtLocalPeer::sendMessage(const QString &message, int timeout) QDataStream ds(&socket); ds.writeBytes(uMsg.constData(), uMsg.size()); bool res = socket.waitForBytesWritten(timeout); - res &= socket.waitForReadyRead(timeout); // wait for ack - res &= (socket.read(qstrlen(ack)) == ack); + if (res) { + res &= socket.waitForReadyRead(timeout); // wait for ack + if (res) { + res &= (socket.read(qstrlen(ack)) == ack); + } + } return res; }