summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelface.h
diff options
context:
space:
mode:
authorGraham Madarasz <graham@lindenlab.com>2013-06-07 14:17:13 -0700
committerGraham Madarasz <graham@lindenlab.com>2013-06-07 14:17:13 -0700
commitaf0cc77199f22c223fcdfb8b46241fb6b81e8e27 (patch)
tree2a8c0ebb083b25d593581dd5ad541c21be354848 /indra/newview/llpanelface.h
parentb15cdc828ea188f278b3ffec4e6442cb4688901d (diff)
NORSPEC-233 WIP cleanup and fix crasher in templated material get driver func
Diffstat (limited to 'indra/newview/llpanelface.h')
-rwxr-xr-xindra/newview/llpanelface.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h
index c178ed783f..d76d940d5c 100755
--- a/indra/newview/llpanelface.h
+++ b/indra/newview/llpanelface.h
@@ -287,7 +287,21 @@ private:
{
struct GetTEMaterialVal : public LLSelectedTEGetFunctor<DataType>
{
- DataType get(LLViewerObject* object, S32 face) { return (object && object->getTE(face)) ? ((object->getTE(face)->getMaterialParams()->*(MaterialGetFunc))()) : DataType(); }
+ DataType get(LLViewerObject* object, S32 face)
+ {
+ DataType ret = DataType();
+ LLMaterialPtr material_ptr;
+ LLTextureEntry* tep = object ? object->getTE(face) : NULL;
+ if (tep)
+ {
+ material_ptr = object->getTE(face)->getMaterialParams();
+ if (!material_ptr.isNull())
+ {
+ ret = (material_ptr->*(MaterialGetFunc))();
+ }
+ }
+ return ret;
+ }
} GetFunc;
identical = LLSelectMgr::getInstance()->getSelection()->getSelectedTEValue( &GetFunc, data_to_return);
}