diff --git a/src/conversation.cpp b/src/conversation.cpp index 7f4fe73c702809974c6bf19177a6e0a496ea6d95..fbf1be34ee0f22102b0b50a9b9e66480fe43ca83 100644 --- a/src/conversation.cpp +++ b/src/conversation.cpp @@ -257,7 +257,14 @@ Swift::Presence::ref Conversation::generatePresence(const std::string &nick, int delete p; presence->setType(Swift::Presence::Error); presence->addPayload(boost::shared_ptr(new Swift::MUCPayload())); - presence->addPayload(boost::shared_ptr(new Swift::ErrorPayload(Swift::ErrorPayload::NotAuthorized, Swift::ErrorPayload::Auth))); + presence->addPayload(boost::shared_ptr(new Swift::ErrorPayload(Swift::ErrorPayload::NotAuthorized, Swift::ErrorPayload::Auth, statusMessage))); + return presence; + } + else if (flag & PARTICIPANT_FLAG_ROOM_NOT_FOUD) { + delete p; + presence->setType(Swift::Presence::Error); + presence->addPayload(boost::shared_ptr(new Swift::MUCPayload())); + presence->addPayload(boost::shared_ptr(new Swift::ErrorPayload(Swift::ErrorPayload::ItemNotFound, Swift::ErrorPayload::Cancel, statusMessage))); return presence; } else {