summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.cpp
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2009-11-03 17:33:03 +0200
committerYuri Chebotarev <ychebotarev@productengine.com>2009-11-03 17:33:03 +0200
commit506f1787a5e3c98c60e10a00e6197303d28eb03a (patch)
tree9da32a06c41da5e5a56bc49fcb562546a652db02 /indra/newview/llchiclet.cpp
parentf1d834c50d7155102a6482e1c4e4205ddca65be2 (diff)
parentefa9c7a5ba1fa1facaa15d22418e9d4199c3f773 (diff)
merge
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r--indra/newview/llchiclet.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index a854eb852f..1049348684 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -830,13 +830,21 @@ LLChicletPanel::~LLChicletPanel()
void im_chiclet_callback(LLChicletPanel* panel, const LLSD& data){
LLUUID session_id = data["session_id"].asUUID();
+ S32 unread = data["num_unread"].asInteger();
+
+ LLIMFloater* im_floater = LLIMFloater::findInstance(session_id);
+ if (im_floater && im_floater->getVisible())
+ {
+ unread = 0;
+ }
+
std::list<LLChiclet*> chiclets = LLIMChiclet::sFindChicletsSignal(session_id);
std::list<LLChiclet *>::iterator iter;
for (iter = chiclets.begin(); iter != chiclets.end(); iter++) {
LLChiclet* chiclet = *iter;
if (chiclet != NULL)
{
- chiclet->setCounter(data["num_unread"].asInteger());
+ chiclet->setCounter(unread);
}
else
{