#4675 Voice indicator did not reappear after tuning
resume() was trigggering sOnCurrentChannelChanged which was wiping participant list with no follow up updates.master
parent
d070b996bd
commit
cf683a2eb8
|
|
@ -545,7 +545,7 @@ void LLConversationViewSession::onCurrentVoiceSessionChanged(const LLUUID& sessi
|
|||
{
|
||||
bool old_value = mIsInActiveVoiceChannel;
|
||||
mIsInActiveVoiceChannel = vmi->getUUID() == session_id;
|
||||
mCallIconLayoutPanel->setVisible(mIsInActiveVoiceChannel);
|
||||
mCallIconLayoutPanel->setVisible(mIsInActiveVoiceChannel && !LLVoiceChannel::isSuspended());
|
||||
if (old_value != mIsInActiveVoiceChannel)
|
||||
{
|
||||
refresh();
|
||||
|
|
|
|||
|
|
@ -200,8 +200,17 @@ void SpeakingIndicatorManager::cleanupSingleton()
|
|||
|
||||
void SpeakingIndicatorManager::sOnCurrentChannelChanged(const LLUUID& /*session_id*/)
|
||||
{
|
||||
switchSpeakerIndicators(mSwitchedIndicatorsOn, false);
|
||||
mSwitchedIndicatorsOn.clear();
|
||||
if (LLVoiceChannel::isSuspended())
|
||||
{
|
||||
switchSpeakerIndicators(mSwitchedIndicatorsOn, false);
|
||||
mSwitchedIndicatorsOn.clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Multiple onParticipantsChanged can arrive at the same time
|
||||
// from different sources, might want to filter by some factor.
|
||||
onParticipantsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void SpeakingIndicatorManager::onParticipantsChanged()
|
||||
|
|
|
|||
|
|
@ -357,6 +357,8 @@ void LLVoiceChannel::suspend()
|
|||
{
|
||||
sSuspendedVoiceChannel = sCurrentVoiceChannel;
|
||||
sSuspended = true;
|
||||
|
||||
sCurrentVoiceChannelChangedSignal(sSuspendedVoiceChannel->mSessionID);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -365,6 +367,7 @@ void LLVoiceChannel::resume()
|
|||
{
|
||||
if (sSuspended)
|
||||
{
|
||||
sSuspended = false; // needs to be before activate() so that observers will be able to read state
|
||||
if (LLVoiceClient::getInstance()->voiceEnabled())
|
||||
{
|
||||
if (sSuspendedVoiceChannel)
|
||||
|
|
@ -382,7 +385,6 @@ void LLVoiceChannel::resume()
|
|||
LLVoiceChannelProximal::getInstance()->activate();
|
||||
}
|
||||
}
|
||||
sSuspended = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ public:
|
|||
|
||||
static void suspend();
|
||||
static void resume();
|
||||
static bool isSuspended() { return sSuspended; }
|
||||
|
||||
protected:
|
||||
virtual void setState(EState state);
|
||||
|
|
|
|||
Loading…
Reference in New Issue