aboutsummaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/QXmppStream.cpp7
-rw-r--r--src/base/QXmppStream.h4
2 files changed, 10 insertions, 1 deletions
diff --git a/src/base/QXmppStream.cpp b/src/base/QXmppStream.cpp
index be4bf9b7..e90bd4a3 100644
--- a/src/base/QXmppStream.cpp
+++ b/src/base/QXmppStream.cpp
@@ -215,6 +215,11 @@ void QXmppStream::_q_socketError(QAbstractSocket::SocketError socketError)
void QXmppStream::_q_socketReadyRead()
{
+ processData(QString::fromUtf8(d->socket->readAll()));
+}
+
+void QXmppStream::processData(const QString &data)
+{
// As we may only have partial XML content, we need to cache the received
// data until it has been successfully parsed. In case it can't be parsed,
//
@@ -226,7 +231,7 @@ void QXmppStream::_q_socketReadyRead()
// However, both issues could only be solved using an XML stream reader
// which would cause many other problems since we don't actually use it for
// parsing the content.
- d->dataBuffer.append(QString::fromUtf8(d->socket->readAll()));
+ d->dataBuffer.append(data);
//
// Check for whitespace pings
diff --git a/src/base/QXmppStream.h b/src/base/QXmppStream.h
index 0156fe80..2e807549 100644
--- a/src/base/QXmppStream.h
+++ b/src/base/QXmppStream.h
@@ -96,6 +96,10 @@ private Q_SLOTS:
void _q_socketReadyRead();
private:
+ void processData(const QString &data);
+
+ friend class tst_QXmppStream;
+
QXmppStreamPrivate *const d;
};