From 1bd3eecff28c2b0d080102c26fd89dc3f56b4e09 Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Wed, 16 Mar 2011 18:28:22 +0000 Subject: catch socket errors for outgoing S2S connections, otherwise they never get terminated --- src/QXmppOutgoingServer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/QXmppOutgoingServer.cpp') diff --git a/src/QXmppOutgoingServer.cpp b/src/QXmppOutgoingServer.cpp index f5537ab7..577c99ff 100644 --- a/src/QXmppOutgoingServer.cpp +++ b/src/QXmppOutgoingServer.cpp @@ -60,6 +60,10 @@ QXmppOutgoingServer::QXmppOutgoingServer(const QString &domain, QObject *parent) QSslSocket *socket = new QSslSocket(this); setSocket(socket); + check = connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), + this, SLOT(socketError(QAbstractSocket::SocketError))); + Q_ASSERT(check); + d->dialbackTimer = new QTimer(this); d->dialbackTimer->setInterval(5000); d->dialbackTimer->setSingleShot(true); @@ -287,3 +291,9 @@ void QXmppOutgoingServer::slotSslErrors(const QList &errors) socket()->ignoreSslErrors(); } +void QXmppOutgoingServer::socketError(QAbstractSocket::SocketError error) +{ + warning(QString("Socket error: " + socket()->errorString())); + emit disconnected(); +} + -- cgit v1.2.3