diff options
| author | Dmitry Oleshko <doleshko@productengine.com> | 2009-11-13 14:50:52 +0200 | 
|---|---|---|
| committer | Dmitry Oleshko <doleshko@productengine.com> | 2009-11-13 14:50:52 +0200 | 
| commit | 03a0b86335216ec22192c353b7bd4d9ee58dc732 (patch) | |
| tree | 1cf44136207d67be47f16a64b5a5ac147fde55eb | |
| parent | fc9741f9ae1b0090db24847b134c193686f6ae59 (diff) | |
fixed normal bug (EXT-2454) "Unread message" indicator isn't reset for chiclet in the Message Well after opening IM window
added a check, whether a new message came, in order to prevent unwanted return from function, that makes impossible updating chiclets' states
--HG--
branch : product-engine
| -rw-r--r-- | indra/newview/llchiclet.cpp | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index fd86192650..9e290c8c04 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -838,11 +838,15 @@ void im_chiclet_callback(LLChicletPanel* panel, const LLSD& data){  	LLUUID session_id = data["session_id"].asUUID();  	LLUUID from_id = data["from_id"].asUUID();  	const std::string from = data["from"].asString(); +	S32 unread = data["num_unread"].asInteger(); -	//we do not show balloon (indicator of new messages) for system messages and our own messages -	if (from_id.isNull() || from_id == gAgentID || SYSTEM_FROM == from) return; +	// if new message came +	if(unread != 0) +	{ +		//we do not show balloon (indicator of new messages) for system messages and our own messages +		if (from_id.isNull() || from_id == gAgentID || SYSTEM_FROM == from) return; +	} -	S32 unread = data["num_unread"].asInteger();  	LLIMFloater* im_floater = LLIMFloater::findInstance(session_id);  	if (im_floater && im_floater->getVisible())  	{ @@ -862,7 +866,6 @@ void im_chiclet_callback(LLChicletPanel* panel, const LLSD& data){  	    	llwarns << "Unable to set counter for chiclet " << session_id << llendl;  	    }  	} -  } | 
