summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.cpp
diff options
context:
space:
mode:
authorSteve Bennetts <steve@lindenlab.com>2009-11-03 18:19:45 -0800
committerSteve Bennetts <steve@lindenlab.com>2009-11-03 18:19:45 -0800
commit3e3ef5c53d2e73c0836ef6056d222c4c35b8ac2d (patch)
tree81c0151e33702653fb5533e9e10ca41cc906fa7a /indra/newview/llchiclet.cpp
parentce3dfcee3bec1ad782128ea891e21130911c9984 (diff)
parentde2fe92bb9df5f5f64dff79a4e6df35330c15329 (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.cpp11
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()