diff options
| author | skolb <none@none> | 2009-12-17 09:26:33 -0800 | 
|---|---|---|
| committer | skolb <none@none> | 2009-12-17 09:26:33 -0800 | 
| commit | f713efe298c73408d59d042a0d35763a96a5bc5f (patch) | |
| tree | d7b2720b202810f5926fde2889cab92cae6dd756 | |
| parent | eb6b69640ea70de0e3b848ec3a4af3eee098f19f (diff) | |
| parent | c9a284fc69020f499ccb6d9fa877dad6864ec66f (diff) | |
Merge
| -rw-r--r-- | indra/media_plugins/webkit/media_plugin_webkit.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 35 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 1 | ||||
| -rw-r--r-- | indra/test_apps/llplugintest/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | install.xml | 8 | 
7 files changed, 44 insertions, 21 deletions
| diff --git a/indra/media_plugins/webkit/media_plugin_webkit.cpp b/indra/media_plugins/webkit/media_plugin_webkit.cpp index ae4f4d810f..707edaa3d6 100644 --- a/indra/media_plugins/webkit/media_plugin_webkit.cpp +++ b/indra/media_plugins/webkit/media_plugin_webkit.cpp @@ -626,7 +626,11 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)  			}  			else if(message_name == "cleanup")  			{ -				// TODO: clean up here +				// DTOR most likely won't be called but the recent change to the way this process +				// is (not) killed means we see this message and can do what we need to here. +				// Note: this cleanup is ultimately what writes cookies to the disk +				LLQtWebKit::getInstance()->remObserver( mBrowserWindowId, this ); +				LLQtWebKit::getInstance()->reset();  			}  			else if(message_name == "shm_added")  			{ @@ -635,7 +639,6 @@ void MediaPluginWebKit::receiveMessage(const char *message_string)  				info.mSize = (size_t)message_in.getValueS32("size");  				std::string name = message_in.getValue("name"); -				  //				std::cerr << "MediaPluginWebKit::receiveMessage: shared memory added, name: " << name   //					<< ", size: " << info.mSize   //					<< ", address: " << info.mAddress  diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 492d70a956..293faa7b70 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1780,6 +1780,7 @@ if (WINDOWS)      qtnetworkd4.dll      qtopengld4.dll      qtwebkitd4.dll +    qtxmlpatternsd4.dll      ssleay32.dll      )    copy_if_different( @@ -1799,6 +1800,7 @@ if (WINDOWS)      qtnetwork4.dll      qtopengl4.dll      qtwebkit4.dll +    qtxmlpatterns4.dll          ssleay32.dll      )    copy_if_different( diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f00b100217..9dfce27fad 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5471,6 +5471,17 @@        <key>Value</key>  	  <integer>13</integer>      </map> +	<key>PrimMediaMasterEnabled</key> +	<map> +	  <key>Comment</key> +      <string>Whether or not Media on a Prim is enabled.</string> +      <key>Persist</key> +      <integer>1</integer> +      <key>Type</key> +      <string>Boolean</string> +      <key>Value</key> +      <integer>1</integer> +    </map>  	<key>PrimMediaControlsUseHoverControlSet</key>  	<map>  	  <key>Comment</key> diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index d24edacd13..f98aa361e0 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -204,8 +204,8 @@ void LLVOVolume::markDead()  	if (!mDead)  	{  		LLMediaDataClientObject::ptr_t obj = new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this), false); -		sObjectMediaClient->removeFromQueue(obj); -		sObjectMediaNavigateClient->removeFromQueue(obj); +		if (sObjectMediaClient) sObjectMediaClient->removeFromQueue(obj); +		if (sObjectMediaNavigateClient) sObjectMediaNavigateClient->removeFromQueue(obj);  		// Detach all media impls from this object  		for(U32 i = 0 ; i < mMediaImplList.size() ; i++) @@ -222,15 +222,18 @@ void LLVOVolume::markDead()  void LLVOVolume::initClass()  {  	// gSavedSettings better be around -	const F32 queue_timer_delay = gSavedSettings.getF32("PrimMediaRequestQueueDelay"); -	const F32 retry_timer_delay = gSavedSettings.getF32("PrimMediaRetryTimerDelay"); -	const U32 max_retries = gSavedSettings.getU32("PrimMediaMaxRetries"); -	const U32 max_sorted_queue_size = gSavedSettings.getU32("PrimMediaMaxSortedQueueSize"); -	const U32 max_round_robin_queue_size = gSavedSettings.getU32("PrimMediaMaxRoundRobinQueueSize"); -    sObjectMediaClient = new LLObjectMediaDataClient(queue_timer_delay, retry_timer_delay, max_retries,  -													 max_sorted_queue_size, max_round_robin_queue_size); -    sObjectMediaNavigateClient = new LLObjectMediaNavigateClient(queue_timer_delay, retry_timer_delay,  -																 max_retries, max_sorted_queue_size, max_round_robin_queue_size); +	if (gSavedSettings.getBOOL("PrimMediaMasterEnabled")) +	{ +		const F32 queue_timer_delay = gSavedSettings.getF32("PrimMediaRequestQueueDelay"); +		const F32 retry_timer_delay = gSavedSettings.getF32("PrimMediaRetryTimerDelay"); +		const U32 max_retries = gSavedSettings.getU32("PrimMediaMaxRetries"); +		const U32 max_sorted_queue_size = gSavedSettings.getU32("PrimMediaMaxSortedQueueSize"); +		const U32 max_round_robin_queue_size = gSavedSettings.getU32("PrimMediaMaxRoundRobinQueueSize"); +		sObjectMediaClient = new LLObjectMediaDataClient(queue_timer_delay, retry_timer_delay, max_retries,  +														 max_sorted_queue_size, max_round_robin_queue_size); +		sObjectMediaNavigateClient = new LLObjectMediaNavigateClient(queue_timer_delay, retry_timer_delay,  +																	 max_retries, max_sorted_queue_size, max_round_robin_queue_size); +	}  }  // static @@ -1719,14 +1722,15 @@ LLVector3 LLVOVolume::getApproximateFaceNormal(U8 face_id)  void LLVOVolume::requestMediaDataUpdate(bool isNew)  { -    sObjectMediaClient->fetchMedia(new LLMediaDataClientObjectImpl(this, isNew)); +    if (sObjectMediaClient) +		sObjectMediaClient->fetchMedia(new LLMediaDataClientObjectImpl(this, isNew));  }  bool LLVOVolume::isMediaDataBeingFetched() const  {  	// I know what I'm doing by const_casting this away: this is just   	// a wrapper class that is only going to do a lookup. -	return sObjectMediaClient->isInQueue(new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this), false)); +	return (sObjectMediaClient) ? sObjectMediaClient->isInQueue(new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this), false)) : false;  }  void LLVOVolume::cleanUpMediaImpls() @@ -1925,7 +1929,7 @@ void LLVOVolume::mediaNavigated(LLViewerMediaImpl *impl, LLPluginClassMedia* plu  		// "bounce back" to the current URL from the media entry  		mediaNavigateBounceBack(face_index);  	} -	else +	else if (sObjectMediaNavigateClient)  	{  		llinfos << "broadcasting navigate with URI " << new_location << llendl; @@ -1994,7 +1998,8 @@ void LLVOVolume::mediaEvent(LLViewerMediaImpl *impl, LLPluginClassMedia* plugin,  void LLVOVolume::sendMediaDataUpdate()  { -    sObjectMediaClient->updateMedia(new LLMediaDataClientObjectImpl(this, false)); +    if (sObjectMediaClient) +		sObjectMediaClient->updateMedia(new LLMediaDataClientObjectImpl(this, false));  }  void LLVOVolume::removeMediaImpl(S32 texture_index) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 32fdd41be2..5090dc9ce4 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -324,6 +324,7 @@ class WindowsManifest(ViewerManifest):              self.path("qtnetwork4.dll")              self.path("qtopengl4.dll")              self.path("qtwebkit4.dll") +            self.path("qtxmlpatternsd4.dll")              self.path("ssleay32.dll")              self.end_prefix() diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt index 20ae1be1a2..89e2d8582d 100644 --- a/indra/test_apps/llplugintest/CMakeLists.txt +++ b/indra/test_apps/llplugintest/CMakeLists.txt @@ -442,6 +442,7 @@ if(WINDOWS)      qtnetwork4.dll      qtopengl4.dll      qtwebkit4.dll +    qtxmlpatterns4.dll      ssleay32.dll      )    copy_if_different( diff --git a/install.xml b/install.xml index 8f56811634..2e317755da 100644 --- a/install.xml +++ b/install.xml @@ -948,9 +948,9 @@ anguage Infrstructure (CLI) international standard</string>            <key>darwin</key>            <map>              <key>md5sum</key> -            <string>e854fd009feeeb617ecfa68f7614ec17</string> +            <string>44fe5bca65db2951ce91b5b6c8596ee0</string>              <key>url</key> -            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.6+flash-darwin-20091215.tar.bz2</uri> +            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-4.6-darwin-20091215.tar.bz2</uri>            </map>            <key>linux</key>            <map> @@ -962,9 +962,9 @@ anguage Infrstructure (CLI) international standard</string>            <key>windows</key>            <map>              <key>md5sum</key> -            <string>92cff05661b5547caae7cc6c66d09870</string> +            <string>3846354e2e20a98c0401317eb114ff5e</string>              <key>url</key> -            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-windows-20091123.tar.bz2</uri> +            <uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/llqtwebkit-windows-qt4.6-20091215.tar.bz2</uri>            </map>          </map>        </map> | 
