diff options
author | Yuri Chebotarev <ychebotarev@productengine.com> | 2009-11-03 17:33:03 +0200 |
---|---|---|
committer | Yuri Chebotarev <ychebotarev@productengine.com> | 2009-11-03 17:33:03 +0200 |
commit | 506f1787a5e3c98c60e10a00e6197303d28eb03a (patch) | |
tree | 9da32a06c41da5e5a56bc49fcb562546a652db02 /indra/newview/llchiclet.cpp | |
parent | f1d834c50d7155102a6482e1c4e4205ddca65be2 (diff) | |
parent | efa9c7a5ba1fa1facaa15d22418e9d4199c3f773 (diff) |
merge
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r-- | indra/newview/llchiclet.cpp | 10 |
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 { |