aboutsummaryrefslogtreecommitdiff
path: root/src/client/QXmppMucManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/QXmppMucManager.cpp')
-rw-r--r--src/client/QXmppMucManager.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/client/QXmppMucManager.cpp b/src/client/QXmppMucManager.cpp
index e1fbed0e..7669a834 100644
--- a/src/client/QXmppMucManager.cpp
+++ b/src/client/QXmppMucManager.cpp
@@ -162,15 +162,9 @@ void QXmppMucManager::_q_messageReceived(const QXmppMessage &msg)
return;
// process room invitations
- foreach (const QXmppElement &extension, msg.extensions())
- {
- if (extension.tagName() == "x" && extension.attribute("xmlns") == ns_conference)
- {
- const QString roomJid = extension.attribute("jid");
- if (!roomJid.isEmpty() && (!d->rooms.contains(roomJid) || !d->rooms.value(roomJid)->isJoined()))
- emit invitationReceived(roomJid, msg.from(), extension.attribute("reason"));
- break;
- }
+ const QString roomJid = msg.mucInvitationJid();
+ if (!roomJid.isEmpty() && (!d->rooms.contains(roomJid) || !d->rooms.value(roomJid)->isJoined())) {
+ emit invitationReceived(roomJid, msg.from(), msg.mucInvitationReason());
}
}
@@ -373,7 +367,8 @@ bool QXmppMucRoom::sendInvitation(const QString &jid, const QString &reason)
QXmppMessage message;
message.setTo(jid);
message.setType(QXmppMessage::Normal);
- message.setExtensions(QXmppElementList() << x);
+ message.setMucInvitationJid(jid);
+ message.setMucInvitationReason(reason);
return d->client->sendPacket(message);
}