diff options
| author | maxim_productengine <mnikolenko@productengine.com> | 2018-06-25 18:51:34 +0300 | 
|---|---|---|
| committer | maxim_productengine <mnikolenko@productengine.com> | 2018-06-25 18:51:34 +0300 | 
| commit | 8602c5827caf40b654e9a6fed0d345fb0eee610b (patch) | |
| tree | 67669481446184fbcb4f995b6c297b4fcc7c77bf | |
| parent | 08fd73410e9a7ffb64acb15422fc6836230aa588 (diff) | |
MAINT-8457 FIXED "Mute" switching cancels the volume settings of Nearby Media
| -rw-r--r-- | indra/newview/llpanelnearbymedia.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llviewermedia.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/llviewermedia.h | 2 | 
3 files changed, 20 insertions, 3 deletions
| diff --git a/indra/newview/llpanelnearbymedia.cpp b/indra/newview/llpanelnearbymedia.cpp index d8ef5b39ad..f3a2ed9408 100644 --- a/indra/newview/llpanelnearbymedia.cpp +++ b/indra/newview/llpanelnearbymedia.cpp @@ -1168,12 +1168,12 @@ void LLPanelNearByMedia::onClickSelectedMediaMute()  			F32 volume = impl->getVolume();  			if(volume > 0.0)  			{ -				impl->setVolume(0.0); +				impl->setMute(true);  			}  			else if (mVolumeSlider->getValueF32() == 0.0)  			{ -				impl->setVolume(1.0); -				mVolumeSlider->setValue(1.0); +				impl->setMute(false); +				mVolumeSlider->setValue(impl->getVolume());  			}  			else   			{ diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 4334cbfda3..22a21c9ca3 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -1555,6 +1555,7 @@ LLViewerMediaImpl::LLViewerMediaImpl(	  const LLUUID& texture_id,  	mNavigateServerRequest(false),  	mMediaSourceFailed(false),  	mRequestedVolume(1.0f), +	mPreviousVolume(1.0f),  	mIsMuted(false),  	mNeedsMuteCheck(false),  	mPreviousMediaState(MEDIA_NONE), @@ -2082,6 +2083,20 @@ void LLViewerMediaImpl::setVolume(F32 volume)  }  ////////////////////////////////////////////////////////////////////////////////////////// +void LLViewerMediaImpl::setMute(bool mute) +{ +	if (mute) +	{ +		mPreviousVolume = mRequestedVolume; +		setVolume(0.0); +	} +	else +	{ +		setVolume(mPreviousVolume); +	} +} + +//////////////////////////////////////////////////////////////////////////////////////////  void LLViewerMediaImpl::updateVolume()  {  	if(mMediaSource) diff --git a/indra/newview/llviewermedia.h b/indra/newview/llviewermedia.h index c52960dfcf..e2e758befb 100644 --- a/indra/newview/llviewermedia.h +++ b/indra/newview/llviewermedia.h @@ -216,6 +216,7 @@ public:  	void skipBack(F32 step_scale);  	void skipForward(F32 step_scale);  	void setVolume(F32 volume); +	void setMute(bool mute);  	void updateVolume();  	F32 getVolume();  	void focus(bool focus); @@ -448,6 +449,7 @@ private:  	bool mNavigateServerRequest;  	bool mMediaSourceFailed;  	F32 mRequestedVolume; +	F32 mPreviousVolume;  	bool mIsMuted;  	bool mNeedsMuteCheck;  	int mPreviousMediaState; | 
