diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/VIEWER_VERSION.txt | 2 | ||||
| -rw-r--r-- | indra/newview/llappdelegate-objc.mm | 13 | ||||
| -rwxr-xr-x | indra/newview/llappviewermacosx.cpp | 53 | ||||
| -rw-r--r-- | indra/newview/llavatarrenderinfoaccountant.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/lldrawpoolavatar.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llspatialpartition.cpp | 20 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 28 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/pipeline.cpp | 12 | 
9 files changed, 49 insertions, 85 deletions
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt index 5b3413147c..cff2619cfb 100644 --- a/indra/newview/VIEWER_VERSION.txt +++ b/indra/newview/VIEWER_VERSION.txt @@ -1 +1 @@ -3.6.7 +3.6.9 diff --git a/indra/newview/llappdelegate-objc.mm b/indra/newview/llappdelegate-objc.mm index 30476b3d22..91251ed7c0 100644 --- a/indra/newview/llappdelegate-objc.mm +++ b/indra/newview/llappdelegate-objc.mm @@ -54,6 +54,19 @@  	}  	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(languageUpdated) name:@"NSTextInputContextKeyboardSelectionDidChangeNotification" object:nil]; + +    [[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(handleGetURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL]; +} + +- (void) handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent { +    NSString    *url= nil; +    url = [[[[NSAppleEventManager sharedAppleEventManager]// 1 +                      currentAppleEvent]// 2 +                     paramDescriptorForKeyword:keyDirectObject]// 3 +                    stringValue];// 4 + +    const char* url_utf8 = [url UTF8String]; +   handleUrl(url_utf8);  }  - (void) applicationDidBecomeActive:(NSNotification *)notification diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp index 316c90d9d2..2723f0b90d 100755 --- a/indra/newview/llappviewermacosx.cpp +++ b/indra/newview/llappviewermacosx.cpp @@ -483,41 +483,24 @@ bool LLAppViewerMacOSX::getMasterSystemAudioMute()  	return (mute != 0);  } -OSErr AEGURLHandler(const AppleEvent *messagein, AppleEvent *reply, long refIn) +void handleUrl(const char* url_utf8)  { -	OSErr result = noErr; -	DescType actualType; -	char buffer[1024];		// Flawfinder: ignore -	Size size; -	 -	result = AEGetParamPtr ( -		messagein, -		keyDirectObject, -		typeCString, -		&actualType, -		(Ptr)buffer, -		sizeof(buffer), -		&size);	 -	 -	if(result == noErr) -	{ -		std::string url = buffer; +    if (url_utf8) +    { +        std::string url = url_utf8; +	    // Safari 3.2 silently mangles secondlife:///app/ URLs into +	    // secondlife:/app/ (only one leading slash). +	    // Fix them up to meet the URL specification. JC +	    const std::string prefix = "secondlife:/app/"; +	    std::string test_prefix = url.substr(0, prefix.length()); +	    LLStringUtil::toLower(test_prefix); +	    if (test_prefix == prefix) +	    { +		    url.replace(0, prefix.length(), "secondlife:///app/"); +	    } -		// Safari 3.2 silently mangles secondlife:///app/ URLs into -		// secondlife:/app/ (only one leading slash). -		// Fix them up to meet the URL specification. JC -		const std::string prefix = "secondlife:/app/"; -		std::string test_prefix = url.substr(0, prefix.length()); -		LLStringUtil::toLower(test_prefix); -		if (test_prefix == prefix) -		{ -			url.replace(0, prefix.length(), "secondlife:///app/"); -		} -		 -		LLMediaCtrl* web = NULL; -		const bool trusted_browser = false; -		LLURLDispatcher::dispatch(url, "", web, trusted_browser); -	} -	 -	return(result); +	    LLMediaCtrl* web = NULL; +    	const bool trusted_browser = false; +	    LLURLDispatcher::dispatch(url, "", web, trusted_browser); +    }  } diff --git a/indra/newview/llavatarrenderinfoaccountant.cpp b/indra/newview/llavatarrenderinfoaccountant.cpp index 5780268acb..9e3225a264 100644 --- a/indra/newview/llavatarrenderinfoaccountant.cpp +++ b/indra/newview/llavatarrenderinfoaccountant.cpp @@ -393,6 +393,6 @@ void LLAvatarRenderInfoAccountant::expireRenderInfoReportTimer(const LLUUID& reg  // static   bool LLAvatarRenderInfoAccountant::logRenderInfo()  { -	static LLCachedControl<bool> render_mute_logging_enabled(gSavedSettings, "RenderAutoMuteLogging"); +	static LLCachedControl<bool> render_mute_logging_enabled(gSavedSettings, "RenderAutoMuteLogging", false);  	return render_mute_logging_enabled;  } diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index ba8c449c3d..f622d5a63a 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -697,7 +697,7 @@ void LLDrawPoolAvatar::beginDeferredImpostor()  	specular_channel = sVertexProgram->enableTexture(LLViewerShaderMgr::SPECULAR_MAP);  	normal_channel = sVertexProgram->enableTexture(LLViewerShaderMgr::DEFERRED_NORMAL);  	sDiffuseChannel = sVertexProgram->enableTexture(LLViewerShaderMgr::DIFFUSE_MAP); -	gPipeline.bindDeferredShader(*sVertexProgram); +	sVertexProgram->bind();  	sVertexProgram->setMinimumAlpha(0.01f);  } diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index d7ae897604..00eb0c1ab1 100755 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -89,28 +89,17 @@ class LLOcclusionQueryPool : public LLGLNamePool  public:  	LLOcclusionQueryPool()  	{ -		mCurQuery = 1; +		  	}  protected: -	std::list<GLuint> mAvailableName; -	GLuint mCurQuery; -		  	virtual GLuint allocateName()  	{  		GLuint ret = 0; -		if (!mAvailableName.empty()) -		{ -			ret = mAvailableName.front(); -			mAvailableName.pop_front(); -		} -		else -		{ -			ret = mCurQuery++; -		} - +		glGenQueriesARB(1, &ret); +	  		return ret;  	} @@ -119,8 +108,7 @@ protected:  #if LL_TRACK_PENDING_OCCLUSION_QUERIES  		LLSpatialGroup::sPendingQueries.erase(name);  #endif -		llassert(std::find(mAvailableName.begin(), mAvailableName.end(), name) == mAvailableName.end()); -		mAvailableName.push_back(name); +		glDeleteQueriesARB(1, &name);  	}  }; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 68abb8c72e..e343481b32 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -934,7 +934,7 @@ void LLVOAvatar::deleteLayerSetCaches(bool clearAll)  		}  		if (mBakedTextureDatas[i].mMaskTexName)  		{ -			LLImageGL::deleteTextures(LLTexUnit::TT_TEXTURE, 0, -1, 1, (GLuint*)&(mBakedTextureDatas[i].mMaskTexName)); +			LLImageGL::deleteTextures(1, (GLuint*)&(mBakedTextureDatas[i].mMaskTexName));  			mBakedTextureDatas[i].mMaskTexName = 0 ;  		}  	} @@ -5521,10 +5521,7 @@ void LLVOAvatar::addChild(LLViewerObject *childp)  	LLViewerObject::addChild(childp);  	if (childp->mDrawable)  	{ -		if (!attachObject(childp)) -		{ -			mPendingAttachment.push_back(childp); -		} +		attachObject(childp);  	}  	else  	{ @@ -5558,21 +5555,7 @@ LLViewerJointAttachment* LLVOAvatar::getTargetAttachmentPoint(LLViewerObject* vi  	if (!attachment)  	{  		llwarns << "Object attachment point invalid: " << attachmentID << llendl; - -		for (int i = 0; i < 15 && !attachment; i++) -		{ -			attachment = get_if_there(mAttachmentPoints, i, (LLViewerJointAttachment*)NULL); // Arbitrary using 1 (chest) - -			if (attachment) -			{ -				llwarns << "Object attachment point falling back to : " << i << llendl; -			} -		} -		 -		if (!attachment) -		{ -			llerrs << "Could not find any object attachment point for: " << attachmentID << llendl; -		} +		attachment = get_if_there(mAttachmentPoints, 1, (LLViewerJointAttachment*)NULL); // Arbitrary using 1 (chest)  	}  	return attachment; @@ -5645,10 +5628,7 @@ void LLVOAvatar::lazyAttach()  	{  		if (mPendingAttachment[i]->mDrawable)  		{ -			if (!attachObject(mPendingAttachment[i])) -			{ -				still_pending.push_back(mPendingAttachment[i]); -			} +			attachObject(mPendingAttachment[i]);  		}  		else  		{ diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 15628d5ab2..9ce99444d9 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -3066,7 +3066,7 @@ void LLVOAvatarSelf::deleteScratchTextures()  		 namep;   		 namep = sScratchTexNames.getNextData() )  	{ -		LLImageGL::deleteTextures(LLTexUnit::TT_TEXTURE, 0, -1, 1, (U32 *)namep ); +		LLImageGL::deleteTextures(1, (U32 *)namep );  		stop_glerror();  	} diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index b0c73d0304..5da8a78b1b 100755 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -1198,13 +1198,13 @@ void LLPipeline::releaseGLBuffers()  	if (mNoiseMap)  	{ -		LLImageGL::deleteTextures(LLTexUnit::TT_TEXTURE, GL_RGB16F_ARB, 0, 1, &mNoiseMap); +		LLImageGL::deleteTextures(1, &mNoiseMap);  		mNoiseMap = 0;  	}  	if (mTrueNoiseMap)  	{ -		LLImageGL::deleteTextures(LLTexUnit::TT_TEXTURE, GL_RGB16F_ARB, 0, 1, &mTrueNoiseMap); +		LLImageGL::deleteTextures(1, &mTrueNoiseMap);  		mTrueNoiseMap = 0;  	} @@ -1229,7 +1229,7 @@ void LLPipeline::releaseLUTBuffers()  {  	if (mLightFunc)  	{ -		LLImageGL::deleteTextures(LLTexUnit::TT_TEXTURE, GL_R16F, 0, 1, &mLightFunc); +		LLImageGL::deleteTextures(1, &mLightFunc);  		mLightFunc = 0;  	}  } @@ -1323,7 +1323,7 @@ void LLPipeline::createGLBuffers()  				noise[i].mV[2] = ll_frand()*scaler+1.f-scaler/2.f;  			} -			LLImageGL::generateTextures(LLTexUnit::TT_TEXTURE, GL_RGB16F_ARB, 1, &mNoiseMap); +			LLImageGL::generateTextures(1, &mNoiseMap);  			gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mNoiseMap);  			LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, GL_RGB16F_ARB, noiseRes, noiseRes, GL_RGB, GL_FLOAT, noise, false); @@ -1339,7 +1339,7 @@ void LLPipeline::createGLBuffers()  				noise[i] = ll_frand()*2.0-1.0;  			} -			LLImageGL::generateTextures(LLTexUnit::TT_TEXTURE, GL_RGB16F_ARB, 1, &mTrueNoiseMap); +			LLImageGL::generateTextures(1, &mTrueNoiseMap);  			gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mTrueNoiseMap);  			LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, GL_RGB16F_ARB, noiseRes, noiseRes, GL_RGB,GL_FLOAT, noise, false);  			gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_POINT); @@ -1452,7 +1452,7 @@ void LLPipeline::createLUTBuffers()  			//  			pix_format = GL_R32F;  #endif -			LLImageGL::generateTextures(LLTexUnit::TT_TEXTURE, pix_format, 1, &mLightFunc); +			LLImageGL::generateTextures(1, &mLightFunc);  			gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mLightFunc);  			LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, pix_format, lightResX, lightResY, GL_RED, GL_FLOAT, ls, false);  			//LLImageGL::setManualImage(LLTexUnit::getInternalType(LLTexUnit::TT_TEXTURE), 0, GL_UNSIGNED_BYTE, lightResX, lightResY, GL_RED, GL_UNSIGNED_BYTE, ls, false);  | 
