diff options
author | Denis Serdjuk <dserduk@productengine.com> | 2009-12-08 15:00:54 +0200 |
---|---|---|
committer | Denis Serdjuk <dserduk@productengine.com> | 2009-12-08 15:00:54 +0200 |
commit | 75993e09bf90e8a9d380192268cd6e0e149a70e2 (patch) | |
tree | 632c5f925d7b134807774fdf1ce9ff5e948a14ae | |
parent | 7348fbb69af095f073da5ec9bd25c690c80b93f5 (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.cpp | 10 |
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); } |