diff options
author | Mike Antipov <mantipov@productengine.com> | 2010-04-14 12:17:47 +0300 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2010-04-14 12:17:47 +0300 |
commit | 5e34a91ce65bbd74834ae012552b3ebe8592fe9a (patch) | |
tree | 1c404cc87f98f2788516792968df484910dbf0d9 /indra/newview/llavatarlistitem.cpp | |
parent | 93317037ee4ed4aa7155ae9253800f8977224f73 (diff) |
Fixed normal bug EXT-4301 (PDD: Dial-in to a PSTN bridge shows "(???) (???)" for the name.)
* Implementation notes:
** special item is cloned from VCP to be used in LLAvatarList to reflect an Avaline caller.
** LLAvatarList extended to create instances of Avaline Caller
** Participant list now determines type of adding session participant (Avatar/Avaline Caller) and selects a way item will be created in avatar list
* Implementation behavior:
** The problem is when Avaline caller ends a call it is removed from Voice Client session but
still exists in LLSpeakerMgr. Server does not send such information.
HUCK was implemented to notify subscribers that Avaline callers are not anymore in the voice call.
** For now Avaline Caller is removed from the LLSpeakerMgr List when it is removed from the Voice Client session.
This happens in two cases: if Avaline Caller ends call itself or if Resident ends group call.
** If Resident joins group call where Avaline caller already exists that caller will appear in Resident's viewer (VCP & Group IM window)
** The callers are displayed as "AvaLine Caller 1", "AvaLine Caller 2" etc.
* Known issues:
** LLNonAvatarCaller should be removed from VCP (for avaline p2p calls). Updated Avatar & Participant Lists can be used instead of it.
Separate ticket will be opened to refactor this code.
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llavatarlistitem.cpp')
-rw-r--r-- | indra/newview/llavatarlistitem.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp index 44f88cce29..2a51eeacfc 100644 --- a/indra/newview/llavatarlistitem.cpp +++ b/indra/newview/llavatarlistitem.cpp @@ -212,21 +212,25 @@ void LLAvatarListItem::setState(EItemState item_style) mAvatarIcon->setColor(item_icon_color_map[item_style]); } -void LLAvatarListItem::setAvatarId(const LLUUID& id, const LLUUID& session_id, bool ignore_status_changes) +void LLAvatarListItem::setAvatarId(const LLUUID& id, const LLUUID& session_id, bool ignore_status_changes/* = false*/, bool is_resident/* = true*/) { if (mAvatarId.notNull()) LLAvatarTracker::instance().removeParticularFriendObserver(mAvatarId, this); mAvatarId = id; - mAvatarIcon->setValue(id); mSpeakingIndicator->setSpeakerId(id, session_id); // We'll be notified on avatar online status changes if (!ignore_status_changes && mAvatarId.notNull()) LLAvatarTracker::instance().addParticularFriendObserver(mAvatarId, this); - // Set avatar name. - gCacheName->get(id, FALSE, boost::bind(&LLAvatarListItem::onNameCache, this, _2, _3)); + if (is_resident) + { + mAvatarIcon->setValue(id); + + // Set avatar name. + gCacheName->get(id, FALSE, boost::bind(&LLAvatarListItem::onNameCache, this, _2, _3)); + } } void LLAvatarListItem::showLastInteractionTime(bool show) |