summaryrefslogtreecommitdiff
path: root/indra/newview/llimview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r--indra/newview/llimview.cpp36
1 files changed, 20 insertions, 16 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 5b4d5466a1..cdc51ad2fc 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -155,7 +155,6 @@ void on_new_message(const LLSD& msg)
}
// execution of the action
-
LLFloaterIMContainer* im_box = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(session_id);
@@ -174,13 +173,11 @@ void on_new_message(const LLSD& msg)
if ("toast" == action)
{
// Skip toasting if we have open window of IM with this session id
- if (
- session_floater
+ if (session_floater
&& session_floater->isInVisibleChain()
&& session_floater->hasFocus()
&& !session_floater->isMinimized()
- && !(session_floater->getHost()
- && session_floater->getHost()->isMinimized())
+ && !(session_floater->getHost() && session_floater->getHost()->isMinimized())
)
{
return;
@@ -222,10 +219,10 @@ void on_new_message(const LLSD& msg)
gToolBarView->flashCommand(LLCommandId("chat"), true);
}
//conversation floater is open but a different conversation is focused
- else
- {
+ //else
+ //{
im_box->flashConversationItemWidget(session_id, true);
- }
+ //}
}
}
@@ -2491,16 +2488,23 @@ void LLIMMgr::addMessage(
}
// Open conversation log if offline messages are present and user allows a Call Log
- if (is_offline_msg && gSavedSettings.getBOOL("KeepConversationLogTranscripts"))
- {
- LLFloaterConversationLog* floater_log =
- LLFloaterReg::getTypedInstance<LLFloaterConversationLog>("conversation");
- if (floater_log && !(floater_log->isFrontmost()))
+ if (is_offline_msg)
+ {
+ if (gSavedSettings.getBOOL("KeepConversationLogTranscripts"))
+ {
+ LLFloaterConversationLog* floater_log =
+ LLFloaterReg::getTypedInstance<LLFloaterConversationLog>("conversation");
+ if (floater_log && !(floater_log->isFrontmost()))
+ {
+ floater_log->openFloater();
+ floater_log->setFrontmost(TRUE);
+ }
+ }
+ else
{
- floater_log->openFloater();
- floater_log->setFrontmost(TRUE);
+ gToolBarView->flashCommand(LLCommandId("chat"), true);
}
- }
+ }
//*NOTE session_name is empty in case of incoming P2P sessions
std::string fixed_session_name = from;