diff options
author | Graham Madarasz <graham@lindenlab.com> | 2013-06-07 14:17:13 -0700 |
---|---|---|
committer | Graham Madarasz <graham@lindenlab.com> | 2013-06-07 14:17:13 -0700 |
commit | af0cc77199f22c223fcdfb8b46241fb6b81e8e27 (patch) | |
tree | 2a8c0ebb083b25d593581dd5ad541c21be354848 /indra/newview/llpanelface.h | |
parent | b15cdc828ea188f278b3ffec4e6442cb4688901d (diff) |
NORSPEC-233 WIP cleanup and fix crasher in templated material get driver func
Diffstat (limited to 'indra/newview/llpanelface.h')
-rwxr-xr-x | indra/newview/llpanelface.h | 16 |
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); } |