fixed YACReaderLocalClient in Qt >= 5

This commit is contained in:
Luis Ángel San Martín 2013-10-28 15:03:41 +01:00
parent 759bd048fc
commit 4c31cd661b

View File

@ -25,6 +25,7 @@ void YACReaderLocalClient::readMessage()
{ {
} }
#include <QMessageBox>
bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic, QList<ComicDB> & siblings) bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic, QList<ComicDB> & siblings)
{ {
@ -72,10 +73,14 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
quint16 totalSize = 0; quint16 totalSize = 0;
sizeStream >> totalSize; sizeStream >> totalSize;
QByteArray data;
tries = 0; 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++; tries++;
} }
if(tries == 10) if(tries == 10)
@ -83,7 +88,8 @@ bool YACReaderLocalClient::requestComicInfo(quint64 libraryId, ComicDB & comic,
localSocket->close(); localSocket->close();
return false; return false;
} }
QDataStream dataStream(localSocket->read(totalSize));
QDataStream dataStream(data);
dataStream >> comic; dataStream >> comic;
dataStream >> siblings; dataStream >> siblings;
localSocket->close(); localSocket->close();