summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 1af5def5f0..6d90b6a0b2 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -589,9 +589,6 @@ void LLIMFloater::addToHost(const LLUUID& session_id)
return;
}
- // Test the existence of the floater before we try to create it
- bool exist = findInstance(session_id);
-
// Get the floater: this will create the instance if it didn't exist
LLIMFloater* floater = getInstance(session_id);
if (floater)
@@ -599,8 +596,8 @@ void LLIMFloater::addToHost(const LLUUID& session_id)
LLIMFloaterContainer* floater_container = LLIMFloaterContainer::getInstance();
- // Do not add again existing floaters
- if (!exist)
+ // Do not attach to the IM container if it's already attached
+ if (!getFloaterHost())
{
// LLTabContainer::eInsertionPoint i_pt = user_initiated ? LLTabContainer::RIGHT_OF_CURRENT : LLTabContainer::END;
// TODO: mantipov: use LLTabContainer::RIGHT_OF_CURRENT if it exists
@@ -815,8 +812,7 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id)
if (mSessionID != im_session_id)
{
initIMSession(im_session_id);
-
- buildParticipantList();
+ buildConversationViewParticipant();
}
initIMFloater();
@@ -1309,6 +1305,7 @@ void LLIMFloater::sRemoveTypingIndicator(const LLSD& data)
floater->removeTypingIndicator();
}
+// CHUI-441 : We should not create a floater here but go through LLIMFLoaterContainer
void LLIMFloater::onIMChicletCreated( const LLUUID& session_id )
{
LLIMFloater::addToHost(session_id);