aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/QXmppOutgoingClient.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp
index 50d2d110..3c480155 100644
--- a/src/client/QXmppOutgoingClient.cpp
+++ b/src/client/QXmppOutgoingClient.cpp
@@ -430,7 +430,10 @@ void QXmppOutgoingClient::handleStanza(const QDomElement &nodeRecv)
QRegExp redirectRegex("([^:]+)(:[0-9]+)?");
if (redirectRegex.exactMatch(nodeRecv.firstChildElement("see-other-host").text())) {
d->redirectHost = redirectRegex.cap(0);
- d->redirectPort = 5222; //hostPort.size() > 1 ? hostPort[1].toUShort() : 5222;
+ if (!redirectRegex.cap(2).isEmpty())
+ d->redirectPort = redirectRegex.cap(2).mid(1).toUShort();
+ else
+ d->redirectPort = 5222;
disconnectFromHost();
return;
}