summaryrefslogtreecommitdiffstats
path: root/Swift
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2011-09-26 15:06:54 (GMT)
committerKevin Smith <git@kismith.co.uk>2011-09-26 15:07:02 (GMT)
commit60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5 (patch)
tree9e93a7198b5d56980c977c9eeda256747330e796 /Swift
parent2680416456d722a4779322949f6ed230de3d422b (diff)
downloadswift-contrib-60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5.zip
swift-contrib-60823cd43ea17d8e06f3ae4a06f3c92d71fb00e5.tar.bz2
Set/Update empty subjects
Resolves: #1000
Diffstat (limited to 'Swift')
-rw-r--r--Swift/Controllers/Chat/ChatsManager.cpp2
-rw-r--r--Swift/Controllers/Chat/MUCController.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp
index c61479c..83f66a3 100644
--- a/Swift/Controllers/Chat/ChatsManager.cpp
+++ b/Swift/Controllers/Chat/ChatsManager.cpp
@@ -503,19 +503,19 @@ void ChatsManager::handleJoinMUCRequest(const JID &mucJID, const boost::optional
}
void ChatsManager::handleSearchMUCRequest() {
mucSearchController_->openSearchWindow();
}
void ChatsManager::handleIncomingMessage(boost::shared_ptr<Message> message) {
JID jid = message->getFrom();
boost::shared_ptr<MessageEvent> event(new MessageEvent(message));
- if (!event->isReadable() && !message->getPayload<ChatState>() && message->getSubject().empty()) {
+ if (!event->isReadable() && !message->getPayload<ChatState>() && !message->hasSubject()) {
return;
}
// Try to deliver it to a MUC
if (message->getType() == Message::Groupchat || message->getType() == Message::Error) {
std::map<JID, MUCController*>::iterator i = mucControllers_.find(jid.toBare());
if (i != mucControllers_.end()) {
i->second->handleIncomingMessage(event);
return;
diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp
index ca1509e..8fcef8c 100644
--- a/Swift/Controllers/Chat/MUCController.cpp
+++ b/Swift/Controllers/Chat/MUCController.cpp
@@ -334,19 +334,19 @@ void MUCController::preHandleIncomingMessage(boost::shared_ptr<MessageEvent> mes
std::string nick = message->getFrom().getResource();
if (nick != nick_ && currentOccupants_.find(nick) != currentOccupants_.end()) {
completer_->addWord(nick);
}
}
/*Buggy implementations never send the status code, so use an incoming message as a hint that joining's done (e.g. the old ejabberd on psi-im.org).*/
receivedActivity();
joined_ = true;
- if (!message->getSubject().empty() && message->getBody().empty()) {
+ if (message->hasSubject() && message->getBody().empty()) {
chatWindow_->addSystemMessage(str(format(QT_TRANSLATE_NOOP("", "The room subject is now: %1%")) % message->getSubject()));;
chatWindow_->setSubject(message->getSubject());
doneGettingHistory_ = true;
}
if (!doneGettingHistory_ && !message->getPayload<Delay>()) {
doneGettingHistory_ = true;
}