diff options
| -rw-r--r-- | indra/newview/llparticipantlist.cpp | 9 | ||||
| -rw-r--r-- | indra/newview/llspeakers.cpp | 5 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index 479c29f656..330e220af3 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -98,6 +98,10 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source, LLAvatarList* av  		{  			mModeratorList.insert(speakerp->mID);  		} +		else +		{ +			mModeratorToRemoveList.insert(speakerp->mID); +		}  	}  	// we need to exclude agent id for non group chat  	sort(); @@ -159,7 +163,7 @@ void LLParticipantList::onAvatarListRefreshed(LLUICtrl* ctrl, const LLSD& param)  			{  				std::string name = item->getAvatarName();  				size_t found = name.find(moderator_indicator); -				if (found == std::string::npos) +				if (found != std::string::npos)  				{  					name.erase(found, moderator_indicator_len);  					item->setName(name); @@ -589,7 +593,8 @@ bool LLParticipantList::LLParticipantListMenu::enableContextMenuItem(const LLSD&  			if (speakerp.notNull())  			{  				// not in voice participants can not be moderated -				return speakerp->mStatus != LLSpeaker::STATUS_TEXT_ONLY; +				return speakerp->mStatus == LLSpeaker::STATUS_VOICE_ACTIVE +					|| speakerp->mStatus == LLSpeaker::STATUS_MUTED;  			}  		}  		return false; diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp index 91b417c61f..010dfd1b33 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -615,6 +615,9 @@ private:  void LLIMSpeakerMgr::toggleAllowTextChat(const LLUUID& speaker_id)  { +	LLPointer<LLSpeaker> speakerp = findSpeaker(speaker_id); +	if (!speakerp) return; +  	std::string url = gAgent.getRegion()->getCapability("ChatSessionRequest");  	LLSD data;  	data["method"] = "mute update"; @@ -623,7 +626,7 @@ void LLIMSpeakerMgr::toggleAllowTextChat(const LLUUID& speaker_id)  	data["params"]["agent_id"] = speaker_id;  	data["params"]["mute_info"] = LLSD::emptyMap();  	//current value represents ability to type, so invert -	data["params"]["mute_info"]["text"] = !findSpeaker(speaker_id)->mModeratorMutedText; +	data["params"]["mute_info"]["text"] = !speakerp->mModeratorMutedText;  	LLHTTPClient::post(url, data, new ModerationResponder(getSessionID()));  } | 
