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;
}
}