summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Serdjuk <dserduk@productengine.com>2009-12-08 15:00:54 +0200
committerDenis Serdjuk <dserduk@productengine.com>2009-12-08 15:00:54 +0200
commit75993e09bf90e8a9d380192268cd6e0e149a70e2 (patch)
tree632c5f925d7b134807774fdf1ce9ff5e948a14ae
parent7348fbb69af095f073da5ec9bd25c690c80b93f5 (diff)
fixed Bug EXT-3001 \"speaking\" object appears in the Voice Control window as (???)(???)
Cause: LLFloaterChat::addChat() was adding a speaking object into the speaker list Solution: filtering these speakers in SpeakerAddListener --HG-- branch : product-engine
-rw-r--r--indra/newview/llparticipantlist.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index 13f195a1be..0aed123191 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -278,6 +278,16 @@ void LLParticipantList::addAvatarIDExceptAgent(std::vector<LLUUID>& existing_lis
//
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
+ * @c 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)
+ {
+ return false;
+ }
return mParent.onAddItemEvent(event, userdata);
}