diff --git a/indra/llprimitive/lldaeloader.cpp b/indra/llprimitive/lldaeloader.cpp index afcbafd249..9b8ce58cbd 100644 --- a/indra/llprimitive/lldaeloader.cpp +++ b/indra/llprimitive/lldaeloader.cpp @@ -1131,7 +1131,13 @@ bool LLDAELoader::OpenFile(const std::string& filename) LLModel* mdl = *i; if(mdl->getStatus() != LLModel::NO_ERRORS) { - setLoadState(ERROR_MODEL + mdl->getStatus()) ; + // Fix deprecated arithmetic between different enum types (ERROR_MODEL + EModelStatus) + // Ugly fix. could use a helper instead but its only called in two places. + // setLoadState(ERROR_MODEL + mdl->getStatus()); + setLoadState( + static_cast( + static_cast(ERROR_MODEL) + static_cast(mdl->getStatus()))); + // return false; //abort } diff --git a/indra/newview/gltf/llgltfloader.cpp b/indra/newview/gltf/llgltfloader.cpp index ce0e3b4d16..ac0f211294 100644 --- a/indra/newview/gltf/llgltfloader.cpp +++ b/indra/newview/gltf/llgltfloader.cpp @@ -486,8 +486,13 @@ void LLGLTFLoader::processNodeHierarchy(S32 node_idx, std::map } else { - setLoadState(ERROR_MODEL + pModel->getStatus()); - delete pModel; + // Fix deprecated arithmetic between different enum types (ERROR_MODEL + EModelStatus) + // Ugly fix. could use a helper instead but its only called in two places. + // setLoadState(ERROR_MODEL + pModel->getStatus()); + setLoadState( + static_cast( + static_cast(ERROR_MODEL) + static_cast(mdl->getStatus()))); + // delete pModel; return; } }