rendered paste bodydiff --git a/kio/kio/connection.cpp b/kio/kio/connection.cppindex b7c3b2e..14865fa 100644--- a/kio/kio/connection.cpp+++ b/kio/kio/connection.cpp@@ -47,6 +47,7 @@ public: void dequeue(); void commandReceived(const Task &task);+ void emitReadyRead(); void disconnected(); void setBackend(AbstractConnectionBackend *b);@@ -84,9 +85,15 @@ void ConnectionPrivate::dequeue() void ConnectionPrivate::commandReceived(const Task &task) {- //kDebug() << "Command " << task.cmd << " added to the queue";+ kDebug() << this << "Command " << task.cmd << " added to the queue"; incomingTasks.enqueue(task);- QMetaObject::invokeMethod(q, "readyRead", Qt::QueuedConnection);+ QMetaObject::invokeMethod(q, "emitReadyRead", Qt::QueuedConnection);+}++void ConnectionPrivate::emitReadyRead()+{+ if (!incomingTasks.isEmpty())+ emit q->readyRead(); } void ConnectionPrivate::disconnected()@@ -507,11 +514,13 @@ bool Connection::waitForIncomingTask(int ms) int Connection::read( int* _cmd, QByteArray &data ) { // if it's still empty, then it's an error- if (d->incomingTasks.isEmpty())+ if (d->incomingTasks.isEmpty()) {+ kWarning() << this << "Task list is empty!"; return -1;+ } const Task task = d->incomingTasks.dequeue();- //kDebug() << this << "Command " << task.cmd << " removed from the queue (size "- // << task.data.size() << ")" << endl;+ kDebug() << this << "Command " << task.cmd << " removed from the queue (size "+ << task.data.size() << ")" << endl; *_cmd = task.cmd; data = task.data; return data.size();diff --git a/kio/kio/connection.h b/kio/kio/connection.hindex 88d58c2..c510464 100644--- a/kio/kio/connection.h+++ b/kio/kio/connection.h@@ -139,6 +139,7 @@ namespace KIO { private: Q_PRIVATE_SLOT(d, void dequeue()) Q_PRIVATE_SLOT(d, void commandReceived(Task))+ Q_PRIVATE_SLOT(d, void emitReadyRead()) Q_PRIVATE_SLOT(d, void disconnected()) friend class ConnectionPrivate; friend class ConnectionServer;