diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-01-15 03:43:43 +0200 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-01-15 03:43:43 +0200 | 
| commit | 1b929cb9a9d9216d1d34fb6dc4b0ea91600935b1 (patch) | |
| tree | 9fd941b56b43434f270310fb094a8ea9099813b8 | |
| parent | 488fb8bab686b29916104d6d1f2f3d4cb1fef78a (diff) | |
SL-16344 #2 Do not play media preview if not opened
| -rw-r--r-- | indra/newview/llfloatermediasettings.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llfloatermediasettings.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloatertools.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llpanelmediasettingsgeneral.cpp | 6 | 
4 files changed, 20 insertions, 13 deletions
| diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp index 2afd889609..b34961e8a2 100644 --- a/indra/newview/llfloatermediasettings.cpp +++ b/indra/newview/llfloatermediasettings.cpp @@ -157,6 +157,18 @@ void LLFloaterMediaSettings::apply()  }  //////////////////////////////////////////////////////////////////////////////// +void LLFloaterMediaSettings::onOpen(const LLSD& key) +{ +    if (mPanelMediaSettingsGeneral) +    { +        // media is expensive, so only load it when nessesary. +        // If we need to preload it, set volume to 0 and any pause +        // if applicable, then unpause here +        mPanelMediaSettingsGeneral->updateMediaPreview(); +    } +} + +////////////////////////////////////////////////////////////////////////////////  void LLFloaterMediaSettings::onClose(bool app_quitting)  {  	if(mPanelMediaSettingsGeneral) diff --git a/indra/newview/llfloatermediasettings.h b/indra/newview/llfloatermediasettings.h index f93512eb3a..151e43e6b9 100644 --- a/indra/newview/llfloatermediasettings.h +++ b/indra/newview/llfloatermediasettings.h @@ -42,6 +42,7 @@ public:  	~LLFloaterMediaSettings();  	/*virtual*/ BOOL postBuild(); +    /*virtual*/ void onOpen(const LLSD& key);  	/*virtual*/ void onClose(bool app_quitting);  	static LLFloaterMediaSettings* getInstance(); diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 87fc3d72cc..d2d4b7b364 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -1472,17 +1472,17 @@ void LLFloaterTools::navigateToTitleMedia( const std::string url )  	else if (mTitleMedia)  	{  		LLPluginClassMedia* media_plugin = mTitleMedia->getMediaPlugin(); - -		if ( media_plugin ) // Shouldn't this be after navigateTo creates plugin? -		{ -			// if it's a movie, we don't want to hear it -			media_plugin->setVolume( 0 ); -		}; -  		// check if url changed or if we need a new media source  		if (mTitleMedia->getCurrentNavUrl() != url || media_plugin == NULL)  		{  			mTitleMedia->navigateTo( url ); + +            LLViewerMediaImpl* impl = LLViewerMedia::getInstance()->getMediaImplFromTextureID(mTitleMedia->getTextureID()); +            if (impl) +            { +                // if it's a page with a movie, we don't want to hear it +                impl->setVolume(0); +            };  		}  		// flag that we need to update the title (even if no request were made) diff --git a/indra/newview/llpanelmediasettingsgeneral.cpp b/indra/newview/llpanelmediasettingsgeneral.cpp index 9730f0f16d..e1818cc68b 100644 --- a/indra/newview/llpanelmediasettingsgeneral.cpp +++ b/indra/newview/llpanelmediasettingsgeneral.cpp @@ -98,9 +98,6 @@ BOOL LLPanelMediaSettingsGeneral::postBuild()  	childSetCommitCallback( LLMediaEntry::HOME_URL_KEY, onCommitHomeURL, this);  	childSetCommitCallback( "current_url_reset_btn",onBtnResetCurrentUrl, this); -	// interrogates controls and updates widgets as required -	updateMediaPreview(); -  	return true;  } @@ -313,9 +310,6 @@ void LLPanelMediaSettingsGeneral::initValues( void* userdata, const LLSD& _media  			data_set[ i ].ctrl_ptr->setTentative( media_settings[ tentative_key ].asBoolean() );  		};  	}; - -	// interrogates controls and updates widgets as required -	self->updateMediaPreview();  }  //////////////////////////////////////////////////////////////////////////////// | 
