diff options
| -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)          { | 
