summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-09-24 19:55:31 -0700
committerMerov Linden <merov@lindenlab.com>2012-09-24 19:55:31 -0700
commit5b0e06108b3c4373c55103dedab3306f06d392c9 (patch)
tree0751aa10cafd8afdde0a48586214a51da8fff750 /indra/newview
parent552f288a0caea45e30a231478a19f4243d69689c (diff)
CHUI-340 : Fix dupe items in the conversation model list. Refresh when resorting.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llconversationmodel.cpp4
-rwxr-xr-xindra/newview/llimfloatercontainer.cpp2
-rw-r--r--indra/newview/llparticipantlist.cpp2
3 files changed, 6 insertions, 2 deletions
diff --git a/indra/newview/llconversationmodel.cpp b/indra/newview/llconversationmodel.cpp
index b0d691fa13..a94d82bf7c 100644
--- a/indra/newview/llconversationmodel.cpp
+++ b/indra/newview/llconversationmodel.cpp
@@ -217,7 +217,7 @@ const bool LLConversationItemSession::getTime(F64& time) const
void LLConversationItemSession::dumpDebugData()
{
- llinfos << "Merov debug : session, uuid = " << mUUID << ", name = " << mName << ", is loaded = " << mIsLoaded << llendl;
+ llinfos << "Merov debug : session " << this << ", uuid = " << mUUID << ", name = " << mName << ", is loaded = " << mIsLoaded << llendl;
LLConversationItemParticipant* participant = NULL;
child_list_t::iterator iter;
for (iter = mChildren.begin(); iter != mChildren.end(); iter++)
@@ -262,7 +262,7 @@ void LLConversationItemParticipant::onAvatarNameCache(const LLAvatarName& av_nam
void LLConversationItemParticipant::dumpDebugData()
{
- llinfos << "Merov debug : participant, uuid = " << mUUID << ", name = " << mName << ", muted = " << mIsMuted << ", moderator = " << mIsModerator << llendl;
+ llinfos << "Merov debug : participant " << this << ", uuid = " << mUUID << ", name = " << mName << ", muted = " << mIsMuted << ", moderator = " << mIsModerator << llendl;
}
//
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index cd56ea6081..14d40d4685 100755
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -394,6 +394,8 @@ void LLIMFloaterContainer::draw()
}
// Reset the need for refresh
session_model->resetRefresh();
+ mConversationViewModel.requestSortAll();
+ mConversationsRoot->arrangeAll();
// Next participant
current_participant_model++;
}
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index 09f2716773..90226e7fba 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -678,8 +678,10 @@ void LLParticipantList::sort()
void LLParticipantList::addAvatarIDExceptAgent(const LLUUID& avatar_id)
{
+ // Do not add if already in there or excluded for some reason
if (mExcludeAgent && gAgent.getID() == avatar_id) return;
if (mAvatarList && mAvatarList->contains(avatar_id)) return;
+ if (findParticipant(avatar_id)) return;
bool is_avatar = LLVoiceClient::getInstance()->isParticipantAvatar(avatar_id);