diff options
author | Igor Borovkov <iborovkov@productengine.com> | 2009-11-03 14:25:08 +0200 |
---|---|---|
committer | Igor Borovkov <iborovkov@productengine.com> | 2009-11-03 14:25:08 +0200 |
commit | 24179cbcc609953ec05c75bcdad5b042e1d62e92 (patch) | |
tree | dcdba2fa6c93997d31f55ff1c358ebaeeb0a9bdf /indra | |
parent | 645e2588511ff55b773e22fe3c9ee2c4de37843c (diff) |
fixed normal EXT-1131 Message Well counts non-interactive notifications however chiclet-window is opened
--HG--
branch : product-engine
Diffstat (limited to 'indra')
-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 { |