diff options
| author | Vadim Savchuk <vsavchuk@productengine.com> | 2009-11-03 15:41:50 +0200 |
|---|---|---|
| committer | Vadim Savchuk <vsavchuk@productengine.com> | 2009-11-03 15:41:50 +0200 |
| commit | 5599547f4f28d95ff6d15a517d0ba0df1fb8d6ff (patch) | |
| tree | 03961b3fc6cd7b38dd5277e2058ef17155a2e0bc /indra/newview/llchiclet.cpp | |
| parent | 4a3eeda1ea5b555d15758dd7abee9b11c980e5b3 (diff) | |
| parent | 6d292f0e816fcb571e73619aabdc9a7cfe179467 (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 { |
