diff options
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r-- | indra/newview/llimview.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index d69bd89f13..37f5888e8c 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -273,7 +273,7 @@ void on_new_message(const LLSD& msg) } } - else if("openconversations" == action && !session_floater_is_open) + else if("openconversations" == action) { //User is not focused on conversation containing the message if(session_floater_not_focused) @@ -285,13 +285,19 @@ void on_new_message(const LLSD& msg) { //Surface conversations floater LLFloaterReg::showInstance("im_container"); + + if (session_floater && session_floater->isMinimized()) + { + LLFloater::onClickMinimize(session_floater); + } } //If in DND mode, allow notification to be stored so upon DND exit //useMostItrusiveIMNotification will be called to notify user a message exists if(session_id.notNull() && participant_id.notNull() - && gAgent.isDoNotDisturb()) + && gAgent.isDoNotDisturb() + && !session_floater_is_open) { LLAvatarNameCache::get(participant_id, boost::bind(&on_avatar_name_cache_toast, _1, _2, msg)); } |