diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 04b7ff2a60cf866661179f1c871159534a2c4c76..72179d98e5ab8b98354fb1f420a17bcf21650f2a 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -1301,6 +1301,22 @@ void NetworkPluginServer::handleMessageReceived(NetworkConversation *conv, boost send(c->connection, message); return; } + + if (!msg->getSubject().empty()) { + pbnetwork::ConversationMessage m; + m.set_username(conv->getConversationManager()->getUser()->getJID().toBare()); + m.set_buddyname(conv->getLegacyName()); + m.set_message(msg->getSubject()); + + std::string message; + m.SerializeToString(&message); + + WRAP(message, pbnetwork::WrapperMessage_Type_TYPE_ROOM_SUBJECT_CHANGED); + + Backend *c = (Backend *) conv->getConversationManager()->getUser()->getData(); + send(c->connection, message); + return; + } std::string xhtml;