diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/tests/llleap_test.cpp | 9 | ||||
| -rw-r--r-- | indra/llcommon/tests/llsdserialize_test.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolmaterials.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llpanelface.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.h | 1 | 
6 files changed, 49 insertions, 17 deletions
| diff --git a/indra/llcommon/tests/llleap_test.cpp b/indra/llcommon/tests/llleap_test.cpp index 9b755e9ca5..29060d4ef5 100644 --- a/indra/llcommon/tests/llleap_test.cpp +++ b/indra/llcommon/tests/llleap_test.cpp @@ -122,13 +122,10 @@ namespace tut                     // finding indra/lib/python. Use our __FILE__, with                     // raw-string syntax to deal with Windows pathnames.                     "mydir = os.path.dirname(r'" << __FILE__ << "')\n" -                   "try:\n" -                   "    from llbase import llsd\n" -                   "except ImportError:\n"                     // We expect mydir to be .../indra/llcommon/tests. -                   "    sys.path.insert(0,\n" -                   "        os.path.join(mydir, os.pardir, os.pardir, 'lib', 'python'))\n" -                   "    from indra.base import llsd\n" +                   "sys.path.insert(0,\n" +                   "    os.path.join(mydir, os.pardir, os.pardir, 'lib', 'python'))\n" +                   "from indra.base import llsd\n"                     "\n"                     "class ProtocolError(Exception):\n"                     "    def __init__(self, msg, data):\n" diff --git a/indra/llcommon/tests/llsdserialize_test.cpp b/indra/llcommon/tests/llsdserialize_test.cpp index e625545763..4d436e8897 100644 --- a/indra/llcommon/tests/llsdserialize_test.cpp +++ b/indra/llcommon/tests/llsdserialize_test.cpp @@ -1523,10 +1523,7 @@ namespace tut                          "sys.path.insert(0,\n"                          "    os.path.join(os.path.dirname(r'" __FILE__ "'),\n"                          "                 os.pardir, os.pardir, 'lib', 'python'))\n" -                        "try:\n" -                        "    from llbase import llsd\n" -                        "except ImportError:\n" -                        "    from indra.base import llsd\n") +                        "from indra.base import llsd\n")          {}          ~TestPythonCompatible() {} diff --git a/indra/newview/lldrawpoolmaterials.cpp b/indra/newview/lldrawpoolmaterials.cpp index 52f476f589..f0e1221f15 100644 --- a/indra/newview/lldrawpoolmaterials.cpp +++ b/indra/newview/lldrawpoolmaterials.cpp @@ -89,11 +89,17 @@ void LLDrawPoolMaterials::renderDeferred(S32 pass)  		mShader->uniform4f(LLShaderMgr::SPECULAR_COLOR, params.mSpecColor.mV[0], params.mSpecColor.mV[1], params.mSpecColor.mV[2], params.mSpecColor.mV[3]);  		mShader->uniform1f(LLShaderMgr::ENVIRONMENT_INTENSITY, params.mEnvIntensity); -		params.mNormalMap->addTextureStats(params.mVSize); -		bindNormalMap(params.mNormalMap); +		if (params.mNormalMap) +		{ +			params.mNormalMap->addTextureStats(params.mVSize); +			bindNormalMap(params.mNormalMap); +		} -		params.mSpecularMap->addTextureStats(params.mVSize); -		bindSpecularMap(params.mSpecularMap); +		if (params.mSpecularMap) +		{ +			params.mSpecularMap->addTextureStats(params.mVSize); +			bindSpecularMap(params.mSpecularMap); +		}  		diffuse_channel = mShader->enableTexture(LLShaderMgr::DIFFUSE_MAP);  		pushBatch(params, VERTEX_DATA_MASK, TRUE); diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 5c4c2693f8..ca161a8654 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -1368,10 +1368,10 @@ void LLPanelFace::updateMaterial()  			mMaterial.reset();  			mMaterialID = LLMaterialID::null;  			// Delete existing material entry... - +			LLSelectMgr::getInstance()->selectionRemoveMaterial();  			// Hold off any further updates till this one's  			// acknowledged. -			//mUpdateInFlight = true; +			mUpdateInFlight = true;  		}  	} diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 91d737ee95..4623d32cff 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2017,7 +2017,7 @@ void LLSelectMgr::selectionSetMaterial(LLMaterialPtr material)  		{  			if (object->permModify())  			{ -			        llinfos << "Putting material on object " << object->getID() << " face " << face << ", material: " << mMaterial->asLLSD() << llendl; +			        LL_INFOS("Materials") << "Putting material on object " << object->getID() << " face " << face << ", material: " << mMaterial->asLLSD() << LL_ENDL;  				LLMaterialMgr::getInstance()->put(object->getID(),face,*mMaterial);  				object->setTEMaterialParams(face,mMaterial);  			} @@ -2040,6 +2040,37 @@ void LLSelectMgr::selectionSetMaterial(LLMaterialPtr material)  	mSelectedObjects->applyToObjects( &func2 );  } +void LLSelectMgr::selectionRemoveMaterial() +{ +	struct f1 : public LLSelectedTEFunctor +	{ +		bool apply(LLViewerObject* object, S32 face) +		{ +			if (object->permModify()) +			{ +			        LL_INFOS("Materials") << "Removing material from object " << object->getID() << " face " << face << LL_ENDL; +				LLMaterialMgr::getInstance()->remove(object->getID(),face); +				object->setTEMaterialID(face,LLMaterialID::null); +			} +			return true; +		} +	} func1; +	mSelectedObjects->applyToTEs( &func1 ); + +	struct f2 : public LLSelectedObjectFunctor +	{ +		virtual bool apply(LLViewerObject* object) +		{ +			if (object->permModify()) +			{ +				object->sendTEUpdate(); +			} +			return true; +		} +	} func2; +	mSelectedObjects->applyToObjects( &func2 ); +} +  //-----------------------------------------------------------------------------  // findObjectPermissions() diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 65f3ea96e3..9d187f6272 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -543,6 +543,7 @@ public:  	void selectionSetIncludeInSearch(bool include_in_search);  	void selectionSetGlow(const F32 glow);  	void selectionSetMaterial(LLMaterialPtr material); +	void selectionRemoveMaterial();  	void selectionSetObjectPermissions(U8 perm_field, BOOL set, U32 perm_mask, BOOL override = FALSE);  	void selectionSetObjectName(const std::string& name); | 
