summaryrefslogtreecommitdiff
path: root/indra/newview/llcallfloater.cpp
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-04-05 15:12:12 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-04-05 15:12:12 -0700
commita0a7b7ed16a9161b8060e8f32e5594356e5c7329 (patch)
tree06809cac6cde316219cbcbf58a7381d907a9d5e6 /indra/newview/llcallfloater.cpp
parent6b3ca581e037d52e507a69d82fd6d900bd4641b7 (diff)
parent9bfc1c3b1060f15990bba218795a1ef6009d1535 (diff)
Merge
Diffstat (limited to 'indra/newview/llcallfloater.cpp')
-rw-r--r--indra/newview/llcallfloater.cpp39
1 files changed, 17 insertions, 22 deletions
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index 4ea3c61ab2..df3fe522b5 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -131,11 +131,9 @@ LLCallFloater::~LLCallFloater()
mAvatarListRefreshConnection.disconnect();
mVoiceChannelStateChangeConnection.disconnect();
- // Don't use LLVoiceClient::getInstance() here
- // singleton MAY have already been destroyed.
- if(gVoiceClient)
+ if(LLVoiceClient::instanceExists())
{
- gVoiceClient->removeObserver(this);
+ LLVoiceClient::getInstance()->removeObserver(this);
}
LLTransientFloaterMgr::getInstance()->removeControlView(this);
}
@@ -191,7 +189,7 @@ void LLCallFloater::draw()
// Seems this is a problem somewhere in Voice Client (LLVoiceClient::participantAddedEvent)
// onChange();
- bool is_moderator_muted = gVoiceClient->getIsModeratorMuted(gAgentID);
+ bool is_moderator_muted = LLVoiceClient::getInstance()->getIsModeratorMuted(gAgentID);
if (mIsModeratorMutedVoice != is_moderator_muted)
{
@@ -209,7 +207,6 @@ void LLCallFloater::draw()
void LLCallFloater::onChange()
{
if (NULL == mParticipants) return;
-
updateParticipantsVoiceState();
// Add newly joined participants.
@@ -239,11 +236,11 @@ void LLCallFloater::updateSession()
LLVoiceChannel* voice_channel = LLVoiceChannel::getCurrentVoiceChannel();
if (voice_channel)
{
- lldebugs << "Current voice channel: " << voice_channel->getSessionID() << llendl;
+ LL_DEBUGS("Voice") << "Current voice channel: " << voice_channel->getSessionID() << LL_ENDL;
if (mSpeakerManager && voice_channel->getSessionID() == mSpeakerManager->getSessionID())
{
- lldebugs << "Speaker manager is already set for session: " << voice_channel->getSessionID() << llendl;
+ LL_DEBUGS("Voice") << "Speaker manager is already set for session: " << voice_channel->getSessionID() << LL_ENDL;
return;
}
else
@@ -253,7 +250,6 @@ void LLCallFloater::updateSession()
}
const LLUUID& session_id = voice_channel ? voice_channel->getSessionID() : LLUUID::null;
- lldebugs << "Set speaker manager for session: " << session_id << llendl;
LLIMModel::LLIMSession* im_session = LLIMModel::getInstance()->findIMSession(session_id);
if (im_session)
@@ -293,7 +289,7 @@ void LLCallFloater::updateSession()
{
// by default let show nearby chat participants
mSpeakerManager = LLLocalSpeakerMgr::getInstance();
- lldebugs << "Set DEFAULT speaker manager" << llendl;
+ LL_DEBUGS("Voice") << "Set DEFAULT speaker manager" << LL_ENDL;
mVoiceType = VC_LOCAL_CHAT;
}
@@ -472,16 +468,15 @@ void LLCallFloater::updateAgentModeratorState()
static void get_voice_participants_uuids(uuid_vec_t& speakers_uuids)
{
// Get a list of participants from VoiceClient
- LLVoiceClient::participantMap *voice_map = gVoiceClient->getParticipantList();
- if (voice_map)
+ std::set<LLUUID> participants;
+ LLVoiceClient::getInstance()->getParticipantList(participants);
+
+ for (std::set<LLUUID>::const_iterator iter = participants.begin();
+ iter != participants.end(); ++iter)
{
- for (LLVoiceClient::participantMap::const_iterator iter = voice_map->begin();
- iter != voice_map->end(); ++iter)
- {
- LLUUID id = (*iter).second->mAvatarID;
- speakers_uuids.push_back(id);
- }
+ speakers_uuids.push_back(*iter);
}
+
}
void LLCallFloater::initParticipantsVoiceState()
@@ -557,7 +552,7 @@ void LLCallFloater::updateParticipantsVoiceState()
uuid_vec_t::iterator speakers_iter = std::find(speakers_uuids.begin(), speakers_uuids.end(), participant_id);
- lldebugs << "processing speaker: " << item->getAvatarName() << ", " << item->getAvatarId() << llendl;
+ LL_DEBUGS("Voice") << "processing speaker: " << item->getAvatarName() << ", " << item->getAvatarId() << LL_ENDL;
// If an avatarID assigned to a panel is found in a speakers list
// obtained from VoiceClient we assign the JOINED status to the owner
@@ -665,8 +660,8 @@ void LLCallFloater::setVoiceRemoveTimer(const LLUUID& voice_speaker_id)
bool LLCallFloater::removeVoiceLeftParticipant(const LLUUID& voice_speaker_id)
{
- LLAvatarList::uuid_vector_t& speaker_uuids = mAvatarList->getIDs();
- LLAvatarList::uuid_vector_t::iterator pos = std::find(speaker_uuids.begin(), speaker_uuids.end(), voice_speaker_id);
+ uuid_vec_t& speaker_uuids = mAvatarList->getIDs();
+ uuid_vec_t::iterator pos = std::find(speaker_uuids.begin(), speaker_uuids.end(), voice_speaker_id);
if(pos != speaker_uuids.end())
{
speaker_uuids.erase(pos);
@@ -727,7 +722,7 @@ void LLCallFloater::connectToChannel(LLVoiceChannel* channel)
void LLCallFloater::onVoiceChannelStateChanged(const LLVoiceChannel::EState& old_state, const LLVoiceChannel::EState& new_state)
{
// check is voice operational and if it doesn't work hide VCP (EXT-4397)
- if(LLVoiceClient::voiceEnabled() && gVoiceClient->voiceWorking())
+ if(LLVoiceClient::getInstance()->voiceEnabled() && LLVoiceClient::getInstance()->isVoiceWorking())
{
updateState(new_state);
}