diff options
-rw-r--r-- | indra/newview/llimview.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 6cff933de6..e237cb7f9e 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -174,6 +174,7 @@ void on_new_message(const LLSD& msg) // determine state of conversations floater enum {CLOSED, NOT_ON_TOP, ON_TOP, ON_TOP_AND_ITEM_IS_SELECTED} conversations_floater_status; + LLFloaterIMContainer* im_box = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container"); LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(session_id); @@ -186,13 +187,13 @@ void on_new_message(const LLSD& msg) { conversations_floater_status = NOT_ON_TOP; } - else if (session_floater->hasFocus()) + else if ((session_floater->hasFocus()) && (im_box->getSelectedSession() == session_id)) { - conversations_floater_status = ON_TOP; + conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED; } - else if((session_floater->hasFocus()) && (im_box->getSelectedSession() == session_id)) + else { - conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED; + conversations_floater_status = ON_TOP; } // determine user prefs for this session |