summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llimview.cpp9
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