diff options
| -rw-r--r-- | indra/newview/llvoiceclient.cpp | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index c062dd1732..3914064d72 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -1258,7 +1258,6 @@ LLVoiceClient::LLVoiceClient() :  	mEarLocation(0),  	mSpeakerVolumeDirty(true),  	mSpeakerMuteDirty(true), -	mSpeakerVolume(0),  	mMicVolume(0),  	mMicVolumeDirty(true), @@ -1271,6 +1270,8 @@ LLVoiceClient::LLVoiceClient() :  	mAPIVersion = LLTrans::getString("NotConnected"); +	mSpeakerVolume = scale_speaker_volume(0); +	  #if LL_DARWIN || LL_LINUX || LL_SOLARIS  		// HACK: THIS DOES NOT BELONG HERE  		// When the vivox daemon dies, the next write attempt on our socket generates a SIGPIPE, which kills us. @@ -3525,7 +3526,7 @@ void LLVoiceClient::buildLocalAudioUpdates(std::ostringstream &stream)  	if(mSpeakerMuteDirty)  	{ -		const char *muteval = ((mSpeakerVolume == 0)?"true":"false"); +		const char *muteval = ((mSpeakerVolume <= scale_speaker_volume(0))?"true":"false");  		mSpeakerMuteDirty = false; @@ -6062,7 +6063,8 @@ void LLVoiceClient::setVoiceVolume(F32 volume)  	if(scaled_volume != mSpeakerVolume)  	{ -		if((scaled_volume == 0) || (mSpeakerVolume == 0)) +		int min_volume = scale_speaker_volume(0); +		if((scaled_volume == min_volume) || (mSpeakerVolume == min_volume))  		{  			mSpeakerMuteDirty = true;  		} | 
