diff options
author | Steve Bennetts <steve@lindenlab.com> | 2009-11-03 18:19:45 -0800 |
---|---|---|
committer | Steve Bennetts <steve@lindenlab.com> | 2009-11-03 18:19:45 -0800 |
commit | 3e3ef5c53d2e73c0836ef6056d222c4c35b8ac2d (patch) | |
tree | 81c0151e33702653fb5533e9e10ca41cc906fa7a /indra/newview/llchiclet.cpp | |
parent | ce3dfcee3bec1ad782128ea891e21130911c9984 (diff) | |
parent | de2fe92bb9df5f5f64dff79a4e6df35330c15329 (diff) |
merge from https://hg.aws.productengine.com/secondlife/viewer-2-0/
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r-- | indra/newview/llchiclet.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 21514b17d9..b9e8c5394d 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 { @@ -1313,6 +1321,7 @@ LLTalkButton::LLTalkButton(const Params& p) // never show "muted" because you can't mute yourself mOutputMonitor->setIsMuted(false); + mOutputMonitor->setIsAgentControl(true); } LLTalkButton::~LLTalkButton() |