--- trunk/KDE/kdelibs/kio/kio/tcpslavebase.cpp 2009/01/14 00:07:11 910707 +++ trunk/KDE/kdelibs/kio/kio/tcpslavebase.cpp 2009/01/14 00:07:20 910708 @@ -177,8 +177,6 @@ success = d->socket.waitForBytesWritten(0); } - d->socket.flush(); //this is supposed to get the data on the wire faster - if (d->socket.state() != KTcpSocket::ConnectedState || !success) { kDebug(7027) << "Write failed, will return -1! Socket error is" << d->socket.error() << ", Socket state is" << d->socket.state() @@ -198,10 +196,12 @@ return -1; } - if (d->isBlocking && !d->socket.bytesAvailable()) { - d->socket.waitForReadyRead(-1); - } else { - d->socket.waitForReadyRead(0); + if (!d->socket.bytesAvailable()) { + if (d->isBlocking) { + d->socket.waitForReadyRead(-1); + } else { + d->socket.waitForReadyRead(0); + } } return d->socket.read(data, len);