diff options
Diffstat (limited to 'source/QXmppStream.cpp')
| -rw-r--r-- | source/QXmppStream.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source/QXmppStream.cpp b/source/QXmppStream.cpp index 4405e3b4..0971b83d 100644 --- a/source/QXmppStream.cpp +++ b/source/QXmppStream.cpp @@ -90,6 +90,10 @@ QXmppStream::QXmppStream(QXmppClient* client) &m_roster, SLOT(rosterIqReceived(const QXmppRosterIq&))); Q_ASSERT(check); + check = QObject::connect(this, SIGNAL(rosterRequestIqReceived(const QXmppRosterIq&)), + &m_roster, SLOT(rosterRequestIqReceived(const QXmppRosterIq&))); + Q_ASSERT(check); + check = QObject::connect(this, SIGNAL(vCardIqReceived(const QXmppVCard&)), &m_vCardManager, SLOT(vCardIqReceived(const QXmppVCard&))); Q_ASSERT(check); @@ -918,7 +922,11 @@ void QXmppStream::processBindIq(const QXmppBind& bind) void QXmppStream::processRosterIq(const QXmppRosterIq& rosterIq) { - emit rosterIqReceived(rosterIq); + if(m_rosterReqId == rosterIq.getId()) + emit rosterRequestIqReceived(rosterIq); + else + emit rosterIqReceived(rosterIq); + switch(rosterIq.getType()) { case QXmppIq::Set: |
