diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 956abcd58692bf6c1803a925c639f8c3ec4ed7f6..b6c53e5e30f6dae92d95857597dd2826003850d9 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -120,7 +120,7 @@ void LLConversationViewSession::setFlashState(bool flash_state) void LLConversationViewSession::startFlashing() { - if (mFlashStateOn && !mFlashStarted) + if (isInVisibleChain() && mFlashStateOn && !mFlashStarted) { mFlashStarted = true; mFlashTimer->startFlashing(); diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 76a314f8075e0a2ce7d928d9863a546a6c441173..4171fa1235f4a1de1597983f007b3a4a7d47cce6 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -274,7 +274,9 @@ void on_new_message(const LLSD& msg) // 2. Flash line item if ("openconversations" == user_preferences - || ON_TOP == conversations_floater_status) + || ON_TOP == conversations_floater_status + || ("toast" == user_preferences && ON_TOP != conversations_floater_status) + || ("flash" == user_preferences && CLOSED == conversations_floater_status)) { if(!LLMuteList::getInstance()->isMuted(participant_id)) {