summaryrefslogtreecommitdiff
path: root/indra/newview/llimview.cpp
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-04-04 12:17:07 -0700
committerMerov Linden <merov@lindenlab.com>2013-04-04 12:17:07 -0700
commit48d98b493038240b639775a93b33e4f9357e408f (patch)
treed44fd428e6e67536077980907b3f9743bd9ccc00 /indra/newview/llimview.cpp
parente09959df0d51eb8f4d37719d2753d2016390b25b (diff)
parentdabce05d1eed47944e39438e50b3c788b7df649d (diff)
Pull merge from lindenlab/viewer-chui
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r--indra/newview/llimview.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 141d43c608..afac94af07 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -182,18 +182,19 @@ void on_new_message(const LLSD& msg)
{
conversations_floater_status = CLOSED;
}
- else if (!session_floater || !LLFloater::isVisible(session_floater)
- || session_floater->isMinimized() || !session_floater->hasFocus())
+ else if (!im_box->hasFocus() &&
+ !(session_floater && LLFloater::isVisible(session_floater)
+ && !session_floater->isMinimized() && session_floater->hasFocus()))
{
conversations_floater_status = NOT_ON_TOP;
}
- else if ((session_floater->hasFocus()) && (im_box->getSelectedSession() == session_id))
+ else if (im_box->getSelectedSession() != session_id)
{
- conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED;
+ conversations_floater_status = ON_TOP;
}
else
{
- conversations_floater_status = ON_TOP;
+ conversations_floater_status = ON_TOP_AND_ITEM_IS_SELECTED;
}
// determine user prefs for this session
@@ -226,7 +227,7 @@ void on_new_message(const LLSD& msg)
// 0. nothing - exit
if (("none" == user_preferences ||
ON_TOP_AND_ITEM_IS_SELECTED == conversations_floater_status)
- && session_floater->isMessagePaneExpanded())
+ && session_floater->isMessagePaneExpanded())
{
return;
}