From 4c31cd661b3575e81f1d8588cd25479150401578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Mon, 28 Oct 2013 15:03:41 +0100 Subject: [PATCH] fixed YACReaderLocalClient in Qt >= 5 --- YACReader/yacreader_local_client.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/YACReader/yacreader_local_client.cpp b/YACReader/yacreader_local_client.cpp index 108577b3..9b44fd1f 100644 --- a/YACReader/yacreader_local_client.cpp +++ b/YACReader/yacreader_local_client.cpp @@ -25,6 +25,7 @@ void YACReaderLocalClient::readMessage() { } +#include bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic, QList & siblings) { @@ -72,10 +73,14 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic, quint16 totalSize = 0; sizeStream >> totalSize; + QByteArray data; + tries = 0; - while(localSocket->bytesAvailable() < totalSize && tries < 10 ) + while(data.length() < totalSize && tries < 10 ) { - localSocket->waitForReadyRead(100); + data.append(localSocket->readAll()); + if(data.length() < totalSize) + localSocket->waitForReadyRead(100); tries++; } if(tries == 10) @@ -83,7 +88,8 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic, localSocket->close(); return false; } - QDataStream dataStream(localSocket->read(totalSize)); + + QDataStream dataStream(data); dataStream >> comic; dataStream >> siblings; localSocket->close();