summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfloaterimcontainer.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp
index cc053ca658..054379c064 100644
--- a/indra/newview/llfloaterimcontainer.cpp
+++ b/indra/newview/llfloaterimcontainer.cpp
@@ -101,6 +101,16 @@ void LLFloaterIMContainer::sessionAdded(const LLUUID& session_id, const std::str
{
addConversationListItem(session_id);
LLFloaterIMSessionTab::addToHost(session_id);
+
+ // If session was added while floater is not visible, conversation should not change
+ if (!isVisible(this))
+ {
+ LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(mSelectedSession);
+ if (session_floater->getHost())
+ {
+ selectFloater(session_floater);
+ }
+ }
}
void LLFloaterIMContainer::sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id)
@@ -1229,7 +1239,7 @@ void LLFloaterIMContainer::showConversation(const LLUUID& session_id)
void LLFloaterIMContainer::selectConversation(const LLUUID& session_id)
{
selectConversationPair(session_id, true);
- }
+}
// Synchronous select the conversation item and the conversation floater
BOOL LLFloaterIMContainer::selectConversationPair(const LLUUID& session_id, bool select_widget)