diff --git a/private/qtjolie-branch/sodep/sodephelpers_p.h b/private/qtjolie-branch/sodep/sodephelpers_p.h index ec7707721..fed4d40c5 100644 --- a/private/qtjolie-branch/sodep/sodephelpers_p.h +++ b/private/qtjolie-branch/sodep/sodephelpers_p.h @@ -125,6 +125,10 @@ inline void sodepWrite(QIODevice &io, const SodepMessage &message) inline double sodepReadDouble(QIODevice &io) { + while (io.bytesAvailable()<8) { + io.waitForReadyRead(-1); + } + double d; char *out = (char*)&d; char in[8]; @@ -140,6 +144,10 @@ inline double sodepReadDouble(QIODevice &io) inline qint32 sodepReadInt32(QIODevice &io) { + while (io.bytesAvailable()<4) { + io.waitForReadyRead(-1); + } + qint32 i; char *out = (char*)&i; char in[4]; @@ -155,6 +163,10 @@ inline qint32 sodepReadInt32(QIODevice &io) inline qint64 sodepReadInt64(QIODevice &io) { + while (io.bytesAvailable()<8) { + io.waitForReadyRead(-1); + } + qint64 i; char *out = (char*)&i; char in[8]; @@ -172,6 +184,10 @@ inline QString sodepReadString(QIODevice &io) { qint32 length = sodepReadInt32(io); + while (io.bytesAvailable()