diff --git a/src/shared/qtsingleapplication/qtlocalpeer.cpp b/src/shared/qtsingleapplication/qtlocalpeer.cpp index 824a2062b59e74a1d76c1e4dd1faf459fb246a79..6410db3195a5220655cd18181f2a7b67c5f15630 100644 --- a/src/shared/qtsingleapplication/qtlocalpeer.cpp +++ b/src/shared/qtsingleapplication/qtlocalpeer.cpp @@ -139,8 +139,11 @@ void QtLocalPeer::receiveConnection() return; // Why doesn't Qt have a blocking stream that takes care of this shait??? - while (socket->bytesAvailable() < static_cast<int>(sizeof(quint32))) - socket->waitForReadyRead(); + while (socket->bytesAvailable() < static_cast<int>(sizeof(quint32))) { + if (!socket->isValid()) // stale request + return; + socket->waitForReadyRead(1000); + } QDataStream ds(socket); QByteArray uMsg; quint32 remaining;