diff options
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r-- | indra/newview/llimfloater.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index c2bcb1cdf9..4a18c8640f 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -510,6 +510,20 @@ void LLIMFloater::setVisible(BOOL visible) } } +BOOL LLIMFloater::getVisible() +{ + if(isChatMultiTab()) + { + LLIMFloaterContainer* im_container = LLIMFloaterContainer::getInstance(); + // Tabbed IM window is "visible" when we minimize it. + return !im_container->isMinimized() && im_container->getVisible(); + } + else + { + return LLTransientDockableFloater::getVisible(); + } +} + //static bool LLIMFloater::toggle(const LLUUID& session_id) { @@ -585,6 +599,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(); @@ -604,9 +621,9 @@ void LLIMFloater::updateMessages() chat.mTimeStr = time; // process offer notification - if (msg.has("notifiaction_id")) + if (msg.has("notification_id")) { - chat.mNotifId = msg["notifiaction_id"].asUUID(); + chat.mNotifId = msg["notification_id"].asUUID(); } //process text message else @@ -614,7 +631,7 @@ void LLIMFloater::updateMessages() chat.mText = message; } - mChatHistory->appendMessage(chat, use_plain_text_chat_history); + mChatHistory->appendMessage(chat, chat_args); mLastMessageIndex = msg["index"].asInteger(); } } |