summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorDmitry Oleshko <doleshko@productengine.com>2009-11-13 14:50:52 +0200
committerDmitry Oleshko <doleshko@productengine.com>2009-11-13 14:50:52 +0200
commit03a0b86335216ec22192c353b7bd4d9ee58dc732 (patch)
tree1cf44136207d67be47f16a64b5a5ac147fde55eb /indra
parentfc9741f9ae1b0090db24847b134c193686f6ae59 (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
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llchiclet.cpp11
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;
}
}
-
}