diff options
| -rw-r--r-- | indra/newview/llcallfloater.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelimcontrolpanel.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llparticipantlist.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llparticipantlist.h | 5 | 
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 | 
