diff options
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); } |