diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llfloaterimnearbychathandler.cpp | 8 | ||||
-rw-r--r-- | indra/newview/llimview.cpp | 19 |
2 files changed, 16 insertions, 11 deletions
diff --git a/indra/newview/llfloaterimnearbychathandler.cpp b/indra/newview/llfloaterimnearbychathandler.cpp index f64cfd0245..8870d54cd2 100644 --- a/indra/newview/llfloaterimnearbychathandler.cpp +++ b/indra/newview/llfloaterimnearbychathandler.cpp @@ -604,6 +604,14 @@ void LLFloaterIMNearbyChatHandler::processChat(const LLChat& chat_msg, toast_msg = chat_msg.mText; } + //Don't show nearby toast, if conversation is visible but not focused + LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(LLUUID()); + if (session_floater + && session_floater->isInVisibleChain() && !session_floater->isMinimized() + && !(session_floater->getHost() && session_floater->getHost()->isMinimized())) + { + return; + } //Will show toast when chat preference is set if(gSavedSettings.getString("NotificationNearbyChatOptions") == "toast") diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index cb03c1d234..433ddad35d 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -204,19 +204,16 @@ void on_new_message(const LLSD& msg) bool conversation_floater_not_focused = conversation_floater_is_closed || !im_box->hasFocus(); + // Skip toasting and flashing if we have open window of IM with this session id + if (session_floater + && session_floater->isInVisibleChain() + && !session_floater->isMinimized() + && !(session_floater->getHost() && session_floater->getHost()->isMinimized())) + { + return; + } if ("toast" == action) { - // Skip toasting and flashing if we have open window of IM with this session id - if (session_floater - && session_floater->isInVisibleChain() - && session_floater->hasFocus() - && !session_floater->isMinimized() - && !(session_floater->getHost() && session_floater->getHost()->isMinimized()) - ) - { - return; - } - //User is not focused on conversation containing the message if(session_floater_not_focused) { |