summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp28
1 files changed, 27 insertions, 1 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 9e52d4c6c2..34ab541a8e 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -510,6 +510,23 @@ void LLIMFloater::setVisible(BOOL visible)
}
}
+BOOL LLIMFloater::getVisible()
+{
+ if(isChatMultiTab())
+ {
+ LLIMFloaterContainer* im_container = LLIMFloaterContainer::getInstance();
+
+ // Treat inactive floater as invisible.
+ bool is_active = im_container->getActiveFloater() == this;
+ // getVisible() returns TRUE when Tabbed IM window is minimized.
+ return is_active && !im_container->isMinimized() && im_container->getVisible();
+ }
+ else
+ {
+ return LLTransientDockableFloater::getVisible();
+ }
+}
+
//static
bool LLIMFloater::toggle(const LLUUID& session_id)
{
@@ -558,6 +575,12 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id)
setKey(im_session_id);
mControlPanel->setSessionId(im_session_id);
}
+
+ // updating "Call" button from group control panel here to enable it without placing into draw() (EXT-4796)
+ if(gAgent.isInGroup(im_session_id))
+ {
+ mControlPanel->updateCallButton();
+ }
//*TODO here we should remove "starting session..." warning message if we added it in postBuild() (IB)
@@ -585,6 +608,9 @@ void LLIMFloater::updateMessages()
{
// LLUIColor chat_color = LLUIColorTable::instance().getColor("IMChatColor");
+ LLSD chat_args;
+ chat_args["use_plain_text_chat_history"] = use_plain_text_chat_history;
+
std::ostringstream message;
std::list<LLSD>::const_reverse_iterator iter = messages.rbegin();
std::list<LLSD>::const_reverse_iterator iter_end = messages.rend();
@@ -614,7 +640,7 @@ void LLIMFloater::updateMessages()
chat.mText = message;
}
- mChatHistory->appendMessage(chat, use_plain_text_chat_history);
+ mChatHistory->appendMessage(chat, chat_args);
mLastMessageIndex = msg["index"].asInteger();
}
}