summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llcallfloater.cpp4
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp5
-rw-r--r--indra/newview/llparticipantlist.cpp4
-rw-r--r--indra/newview/llparticipantlist.h5
4 files changed, 15 insertions, 3 deletions
diff --git a/indra/newview/llcallfloater.cpp b/indra/newview/llcallfloater.cpp
index 1acdb96da6..2521bde8fa 100644
--- a/indra/newview/llcallfloater.cpp
+++ b/indra/newview/llcallfloater.cpp
@@ -153,6 +153,10 @@ void LLCallFloater::draw()
setModeratorMutedVoice(is_moderator_muted);
}
+ // Need to resort the participant list if it's in sort by recent speaker order.
+ if (mPaticipants)
+ mPaticipants->updateRecentSpeakersOrder();
+
LLDockableFloater::draw();
}
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index 8d03f9e686..3f309b3bf5 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -247,10 +247,9 @@ void LLPanelGroupControlPanel::draw()
//Remove event does not raised until speakerp->mActivityTimer.hasExpired() is false, see LLSpeakerManager::update()
//so we need update it to raise needed event
mSpeakerManager->update(true);
- // Need to refresh participants to display ones not in voice as disabled and
- // resort the avatar list if it's in sort by recent speaker order.
+ // Need to resort the participant list if it's in sort by recent speaker order.
if (mParticipantList)
- mParticipantList->refreshVoiceState();
+ mParticipantList->updateRecentSpeakersOrder();
LLPanelChatControlPanel::draw();
}
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index 8fb4063ea7..dfe0b504bd 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -227,6 +227,10 @@ void LLParticipantList::refreshVoiceState()
item->setOnline(!is_in_voice);
}
}
+}
+
+void LLParticipantList::updateRecentSpeakersOrder()
+{
if (E_SORT_BY_RECENT_SPEAKERS == getSortOrder())
{
// Resort avatar list
diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h
index 21eda86edd..515529452b 100644
--- a/indra/newview/llparticipantlist.h
+++ b/indra/newview/llparticipantlist.h
@@ -65,6 +65,11 @@ class LLParticipantList
*/
void refreshVoiceState();
+ /**
+ * Refreshes the participant list if it's in sort by recent speaker order.
+ */
+ void updateRecentSpeakersOrder();
+
protected:
/**
* LLSpeakerMgr event handlers