diff options
-rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 12 |
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) |