diff options
| author | Remko Tronçon <git@el-tramo.be> | 2009-11-25 21:34:08 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2009-11-25 21:34:08 (GMT) | 
| commit | 5498152b4c9537742019dd45db72c88d7e3dc70c (patch) | |
| tree | 94e7df9db7bd731eb342f05e200731b73319a176 /Swift/Controllers/MainController.cpp | |
| parent | db00adc9810377500e6ab27900b29496a0d05afe (diff) | |
| download | swift-5498152b4c9537742019dd45db72c88d7e3dc70c.zip swift-5498152b4c9537742019dd45db72c88d7e3dc70c.tar.bz2  | |
Avoid having unreadable events added to queue.
Diffstat (limited to 'Swift/Controllers/MainController.cpp')
| -rw-r--r-- | Swift/Controllers/MainController.cpp | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index d94cadc..e030a31 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -377,12 +377,15 @@ void MainController::handleJoinMUCRequest(const JID &muc, const String &nick) {  	mucControllers_[muc]->setAvailableServerFeatures(serverDiscoInfo_);  }  void MainController::handleIncomingMessage(boost::shared_ptr<Message> message) {  	JID jid = message->getFrom();  	boost::shared_ptr<MessageEvent> event(new MessageEvent(message)); +	if (!event->isReadable()) { +		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); @@ -393,17 +396,13 @@ void MainController::handleIncomingMessage(boost::shared_ptr<Message> message) {  			return;  		}  	}  	//if not a mucroom  	eventController_->handleIncomingEvent(event); - -	// FIXME: This logic should go into a chat manager -	if (event->isReadable()) { -		getChatController(jid)->handleIncomingMessage(event); -	} +	getChatController(jid)->handleIncomingMessage(event);  }  void MainController::handleServerDiscoInfoResponse(boost::shared_ptr<DiscoInfo> info, const boost::optional<ErrorPayload>& error) {  	if (!error) {  		serverDiscoInfo_ = info;  		foreach (JIDChatControllerPair pair, chatControllers_) {  | 
 Swift