diff --git a/source/lobby/XmppClient.cpp b/source/lobby/XmppClient.cpp index 0a0e2b7ddb..95f11278ca 100644 --- a/source/lobby/XmppClient.cpp +++ b/source/lobby/XmppClient.cpp @@ -111,6 +111,8 @@ XmppClient::XmppClient(const std::string& sUsername, const std::string& sPasswor m_client->registerMessageHandler( this ); + m_Subject = ""; + // Uncomment to see the raw stanzas //m_client->getWrapped()->logInstance().registerLogHandler( gloox::LogLevelDebug, gloox::LogAreaAll, this ); @@ -768,10 +770,10 @@ void XmppClient::handleMUCParticipantPresence(glooxwrapper::MUCRoom*, const gloo /** * Update local cache when subject changes. */ -void XmppClient::handleMUCSubject(glooxwrapper::MUCRoom*, const std::string& UNUSED(nick), const std::string& subject) +void XmppClient::handleMUCSubject(glooxwrapper::MUCRoom*, const glooxwrapper::string& UNUSED(nick), const glooxwrapper::string& subject) { - m_Subject = subject; - CreateSimpleMessage("muc", subject, "subject"); + m_Subject = subject.to_string(); + CreateSimpleMessage("muc", m_Subject, "subject"); } /** diff --git a/source/lobby/XmppClient.h b/source/lobby/XmppClient.h index 4a0b1bc4a5..0327635034 100644 --- a/source/lobby/XmppClient.h +++ b/source/lobby/XmppClient.h @@ -86,7 +86,7 @@ protected: virtual void handleMUCParticipantPresence(glooxwrapper::MUCRoom*, const glooxwrapper::MUCRoomParticipant, const glooxwrapper::Presence&); virtual void handleMUCError(glooxwrapper::MUCRoom*, gloox::StanzaError); virtual void handleMUCMessage(glooxwrapper::MUCRoom* room, const glooxwrapper::Message& msg, bool priv); - virtual void handleMUCSubject(glooxwrapper::MUCRoom*, const std::string& nick, const std::string& subject); + virtual void handleMUCSubject(glooxwrapper::MUCRoom*, const glooxwrapper::string& nick, const glooxwrapper::string& subject); /* MUC handlers not supported by glooxwrapper */ // virtual bool handleMUCRoomCreation(glooxwrapper::MUCRoom*) {return false;} // virtual void handleMUCInviteDecline(glooxwrapper::MUCRoom*, const glooxwrapper::JID&, const std::string&) {} @@ -147,7 +147,7 @@ private: /// Queue of messages for the GUI std::deque m_GuiMessageQueue; /// Current room subject/topic. - std::string m_Subject = ""; + std::string m_Subject; }; #endif // XMPPCLIENT_H diff --git a/source/lobby/glooxwrapper/glooxwrapper.h b/source/lobby/glooxwrapper/glooxwrapper.h index 5d8029ce0c..0e8d7138c3 100644 --- a/source/lobby/glooxwrapper/glooxwrapper.h +++ b/source/lobby/glooxwrapper/glooxwrapper.h @@ -340,7 +340,7 @@ namespace glooxwrapper virtual void handleMUCParticipantPresence(MUCRoom* room, const MUCRoomParticipant participant, const Presence& presence) = 0; // MUCRoom not supported virtual void handleMUCMessage(MUCRoom* room, const Message& msg, bool priv) = 0; // MUCRoom not supported virtual void handleMUCError(MUCRoom* room, gloox::StanzaError error) = 0; // MUCRoom not supported - virtual void handleMUCSubject(MUCRoom* room, const std::string& nick, const std::string& subject) = 0; // MUCRoom not supported + virtual void handleMUCSubject(MUCRoom* room, const string& nick, const string& subject) = 0; // MUCRoom not supported }; class GLOOXWRAPPER_API RegistrationHandler