summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BuildParams6
-rw-r--r--indra/llcommon/tests/llleap_test.cpp9
-rw-r--r--indra/llcommon/tests/llsdserialize_test.cpp5
-rw-r--r--indra/newview/lldrawpoolmaterials.cpp14
-rw-r--r--indra/newview/llpanelface.cpp4
-rw-r--r--indra/newview/llselectmgr.cpp33
-rw-r--r--indra/newview/llselectmgr.h1
7 files changed, 52 insertions, 20 deletions
diff --git a/BuildParams b/BuildParams
index fa8238c478..eb112277ba 100644
--- a/BuildParams
+++ b/BuildParams
@@ -130,9 +130,8 @@ viewer-pathfinding.build_viewer_update_version_manager = false
# viewer-materials
# ========================================
-viewer-materials.viewer_channel = "Project Viewer - Materials"
-viewer-materials.login_channel = "Project Viewer - Materials"
-viewer-materials.viewer_grid = aditi
+viewer-materials.viewer_channel = "Second Life Project Materials"
+viewer-materials.login_channel = "Second Life Project Materials"
viewer-materials.build_debug_release_separately = true
viewer-materials.build_CYGWIN_Debug = false
viewer-materials.build_viewer_update_version_manager = false
@@ -201,3 +200,4 @@ runway.build_viewer_update_version_manager = false
# eof
+
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);