summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2012-11-29 20:33:17 -0800
committerMerov Linden <merov@lindenlab.com>2012-11-29 20:33:17 -0800
commit5238a39b5458a34b727ca842c456db47ef13d1b7 (patch)
treebe94ac2c67ca648326ff77d82338b672258a2da5
parent1a9a55087248eb76330761c2f67e989135472153 (diff)
CHUI-552 : Fixed : Filter out participant creation with the same id than the session id
-rw-r--r--indra/newview/llparticipantlist.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index 9f89b5f809..6c838f8a45 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -366,8 +366,11 @@ bool LLParticipantList::onSpeakerMuteEvent(LLPointer<LLOldEvents::LLEvent> event
void LLParticipantList::addAvatarIDExceptAgent(const LLUUID& avatar_id)
{
- // Do not add if already in there or excluded for some reason
- if (findParticipant(avatar_id)) return;
+ // Do not add if already in there, is the session id (hence not an avatar) or excluded for some reason
+ if (findParticipant(avatar_id) || (avatar_id == mUUID))
+ {
+ return;
+ }
bool is_avatar = LLVoiceClient::getInstance()->isParticipantAvatar(avatar_id);
@@ -391,7 +394,7 @@ void LLParticipantList::addAvatarIDExceptAgent(const LLUUID& avatar_id)
// *TODO : Need to update the online/offline status of the participant
// Hack for this: LLAvatarTracker::instance().isBuddyOnline(avatar_id))
-
+
// Add the participant model to the session's children list
addParticipant(participant);
@@ -413,12 +416,12 @@ void LLParticipantList::adjustParticipant(const LLUUID& speaker_id)
bool LLParticipantList::SpeakerAddListener::handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata)
{
/**
- * We need to filter speaking objects. These objects shouldn't appear in the list
+ * We need to filter speaking objects. These objects shouldn't appear in the list.
* @see LLFloaterChat::addChat() in llviewermessage.cpp to get detailed call hierarchy
*/
const LLUUID& speaker_id = event->getValue().asUUID();
LLPointer<LLSpeaker> speaker = mParent.mSpeakerMgr->findSpeaker(speaker_id);
- if(speaker.isNull() || speaker->mType == LLSpeaker::SPEAKER_OBJECT)
+ if (speaker.isNull() || (speaker->mType == LLSpeaker::SPEAKER_OBJECT))
{
return false;
}