From 75993e09bf90e8a9d380192268cd6e0e149a70e2 Mon Sep 17 00:00:00 2001 From: Denis Serdjuk Date: Tue, 8 Dec 2009 15:00:54 +0200 Subject: 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 --- indra/newview/llparticipantlist.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) 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& existing_lis // bool LLParticipantList::SpeakerAddListener::handleEvent(LLPointer 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 speaker = mParent.mSpeakerMgr->findSpeaker(speaker_id); + if(speaker.isNull() || speaker->mType == LLSpeaker::SPEAKER_OBJECT) + { + return false; + } return mParent.onAddItemEvent(event, userdata); } -- cgit v1.2.3