summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llimconversation.cpp4
-rw-r--r--indra/newview/llimconversation.h2
-rw-r--r--indra/newview/llimfloater.cpp3
-rw-r--r--indra/newview/llimfloatercontainer.cpp10
4 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp
index cc5adfc2e8..ad34acd941 100644
--- a/indra/newview/llimconversation.cpp
+++ b/indra/newview/llimconversation.cpp
@@ -174,7 +174,7 @@ BOOL LLIMConversation::postBuild()
setOpenPositioning(LLFloaterEnums::POSITIONING_RELATIVE);
- buildParticipantList();
+ buildConversationViewParticipant();
updateHeaderAndToolbar();
@@ -307,7 +307,7 @@ void LLIMConversation::appendMessage(const LLChat& chat, const LLSD &args)
}
-void LLIMConversation::buildParticipantList()
+void LLIMConversation::buildConversationViewParticipant()
{
// Get the model list
LLParticipantList* item = getParticipantList();
diff --git a/indra/newview/llimconversation.h b/indra/newview/llimconversation.h
index a2e56bb2ef..4e66d000e6 100644
--- a/indra/newview/llimconversation.h
+++ b/indra/newview/llimconversation.h
@@ -77,6 +77,7 @@ public:
void removeConversationViewParticipant(const LLUUID& participant_id);
void updateConversationViewParticipant(const LLUUID& participant_id);
void refreshConversation();
+ void buildConversationViewParticipant();
protected:
@@ -95,7 +96,6 @@ protected:
// refresh a visual state of the Call button
void updateCallBtnState(bool callIsActive);
- void buildParticipantList();
void onSortMenuItemClicked(const LLSD& userdata);
void hideOrShowTitle(); // toggle the floater's drag handle
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 8fbf691897..560b3fa60a 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -825,8 +825,7 @@ void LLIMFloater::sessionInitReplyReceived(const LLUUID& im_session_id)
if (mSessionID != im_session_id)
{
initIMSession(im_session_id);
-
- buildParticipantList();
+ buildConversationViewParticipant();
}
initIMFloater();
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index 7159b13c8c..89dfd2e149 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -429,7 +429,7 @@ bool LLIMFloaterContainer::onConversationModelEvent(const LLSD& event)
return false;
}
LLConversationViewParticipant* participant_view = session_view->findParticipant(participant_id);
- LLIMFloater *conversation_floater = LLIMFloater::findInstance(session_id);
+ LLIMConversation *conversation_floater = (session_id.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(session_id)));
if (type == "remove_participant")
{
@@ -830,7 +830,6 @@ void LLIMFloaterContainer::getParticipantUUIDs(uuid_vec_t& selected_uuids)
//When a one-on-one conversation exists, retrieve the participant id from the conversation floater
else if(conversationItem->getType() == LLConversationItem::CONV_SESSION_1_ON_1)
{
- llinfos << "Merov debug : getParticipantUUIDs, LLIMFloater::findInstance, id = " << conversationItem->getUUID() << llendl;
LLIMFloater *conversationFloater = LLIMFloater::findInstance(conversationItem->getUUID());
LLUUID participantID = conversationFloater->getOtherParticipantUUID();
selected_uuids.push_back(participantID);
@@ -906,7 +905,6 @@ void LLIMFloaterContainer::doToSelectedConversation(const std::string& command,
{
//Find the conversation floater associated with the selected id
const LLConversationItem * conversationItem = getCurSelectedViewModelItem();
- llinfos << "Merov debug : doToSelectedConversation, LLIMFloater::findInstance, id = " << conversationItem->getUUID() << llendl;
LLIMFloater *conversationFloater = LLIMFloater::findInstance(conversationItem->getUUID());
if(conversationFloater)
@@ -1234,6 +1232,12 @@ LLConversationItem* LLIMFloaterContainer::addConversationListItem(const LLUUID&
participant_view->addToFolder(widget);
current_participant_model++;
}
+ // Do that too for the conversation dialog
+ LLIMConversation *conversation_floater = (uuid.isNull() ? (LLIMConversation*)(LLFloaterReg::findTypedInstance<LLNearbyChat>("nearby_chat")) : (LLIMConversation*)(LLIMFloater::findInstance(uuid)));
+ if (conversation_floater)
+ {
+ conversation_floater->buildConversationViewParticipant();
+ }
if (isWidgetSelected)
{