diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llpanelface.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llselectmgr.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llselectmgr.h | 3 |
3 files changed, 9 insertions, 7 deletions
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 7b3bbf8b3b..7e9fe212dd 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -1352,7 +1352,7 @@ void LLPanelFace::updateMaterial() mMaterial->setDiffuseAlphaMode(getChild<LLComboBox>("combobox alphamode")->getCurrentIndex()); mMaterial->setAlphaMaskCutoff((U8)(getChild<LLUICtrl>("maskcutoff")->getValue().asInteger())); llinfos << "Updating material: " << mMaterial->asLLSD() << llendl; - LLSelectMgr::getInstance()->selectionSetMaterial( *mMaterial ); + LLSelectMgr::getInstance()->selectionSetMaterial( mMaterial ); // We've sent an update. Need to hold off on any more until // the sim acknowledges this one. diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index c93cecdd5d..9f343f465c 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2010,18 +2010,19 @@ void LLSelectMgr::selectionSetGlow(F32 glow) mSelectedObjects->applyToObjects( &func2 ); } -void LLSelectMgr::selectionSetMaterial(LLMaterial& material) +void LLSelectMgr::selectionSetMaterial(LLMaterialPtr material) { struct f1 : public LLSelectedTEFunctor { - LLMaterial mMaterial; - f1(LLMaterial material) : mMaterial(material) {}; + LLMaterialPtr mMaterial; + f1(LLMaterialPtr material) : mMaterial(material) {}; bool apply(LLViewerObject* object, S32 face) { if (object->permModify()) { - llinfos << "Putting material on object " << object->getID() << " face " << face << ", material: " << mMaterial.asLLSD() << llendl; - LLMaterialMgr::getInstance()->put(object->getID(),face,mMaterial); + llinfos << "Putting material on object " << object->getID() << " face " << face << ", material: " << mMaterial->asLLSD() << llendl; + LLMaterialMgr::getInstance()->put(object->getID(),face,*mMaterial); + object->setTEMaterialParams(face,mMaterial); } return true; } diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index f1da18dcc3..2eae5b94c9 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -48,6 +48,7 @@ #include <deque> #include <boost/iterator/filter_iterator.hpp> #include <boost/signals2.hpp> +#include <boost/make_shared.hpp> // boost::make_shared class LLMessageSystem; class LLViewerTexture; @@ -538,7 +539,7 @@ public: void selectionSetClickAction(U8 action); void selectionSetIncludeInSearch(bool include_in_search); void selectionSetGlow(const F32 glow); - void selectionSetMaterial(LLMaterial& material); + void selectionSetMaterial(LLMaterialPtr material); void selectionSetObjectPermissions(U8 perm_field, BOOL set, U32 perm_mask, BOOL override = FALSE); void selectionSetObjectName(const std::string& name); |