summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMaximB ProductEngine <mberezhnoy@productengine.com>2012-12-12 05:46:56 +0200
committerMaximB ProductEngine <mberezhnoy@productengine.com>2012-12-12 05:46:56 +0200
commit9c145d88a667c20a550884d75b6616b11ebc8104 (patch)
tree96a448029414b4d2f864ebe34439518c81573d8e /indra
parent8037b435883f6d0cc0ba01e4f5bdbeea47c99074 (diff)
CHUI-589 (Conversation floater displays wrong IM floater when receiving a new message)
Diffstat (limited to 'indra')
-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)