summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
authorcallum <none@none>2009-12-15 17:53:03 -0800
committercallum <none@none>2009-12-15 17:53:03 -0800
commitb7747a815f1fb7ee49804b6b2daf2e347b27f7a5 (patch)
tree7edef8c608cc99cb0e657694d259598294858851 /indra/newview/llimfloater.cpp
parentf923f896bca0d0d8459c35a5ef8e0d0171cbe664 (diff)
parentfc40740e1e5a7fcb1ed8bf3b4b6eaffe7d3d9c07 (diff)
Merge with tip before push
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 47a168e354..7dc21e6e23 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -469,7 +469,7 @@ bool LLIMFloater::toggle(const LLUUID& session_id)
if(!isChatMultiTab())
{
LLIMFloater* floater = LLFloaterReg::findTypedInstance<LLIMFloater>("impanel", session_id);
- if (floater && floater->getVisible() && floater->isDocked())
+ if (floater && floater->getVisible())
{
// clicking on chiclet to close floater just hides it to maintain existing
// scroll/text entry state
@@ -947,3 +947,20 @@ void LLIMFloater::initIMFloater()
// init chat window type before user changed it in preferences
isChatMultiTab();
}
+
+//static
+void LLIMFloater::sRemoveTypingIndicator(const LLSD& data)
+{
+ LLUUID session_id = data["session_id"];
+ if (session_id.isNull()) return;
+
+ LLUUID from_id = data["from_id"];
+ if (gAgentID == from_id || LLUUID::null == from_id) return;
+
+ LLIMFloater* floater = LLIMFloater::findInstance(session_id);
+ if (!floater) return;
+
+ if (IM_NOTHING_SPECIAL != floater->mDialog) return;
+
+ floater->removeTypingIndicator();
+}