diff options
Diffstat (limited to 'Swiften/Client/ClientSession.cpp')
-rw-r--r-- | Swiften/Client/ClientSession.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Swiften/Client/ClientSession.cpp b/Swiften/Client/ClientSession.cpp index 13816d3..a7f39b6 100644 --- a/Swiften/Client/ClientSession.cpp +++ b/Swiften/Client/ClientSession.cpp @@ -13,6 +13,7 @@ #include "Swiften/Elements/ProtocolHeader.h" #include "Swiften/Elements/StreamFeatures.h" +#include "Swiften/Elements/StreamError.h" #include "Swiften/Elements/StartTLSRequest.h" #include "Swiften/Elements/StartTLSFailure.h" #include "Swiften/Elements/TLSProceed.h" @@ -151,6 +152,9 @@ void ClientSession::handleElement(boost::shared_ptr<Element> element) { std::cerr << "Warning: Ignoring ack" << std::endl; } } + else if (StreamError::ref streamError = boost::dynamic_pointer_cast<StreamError>(element)) { + finishSession(Error::StreamError); + } else if (getState() == Initialized) { boost::shared_ptr<Stanza> stanza = boost::dynamic_pointer_cast<Stanza>(element); if (stanza) { |