diff options
| -rw-r--r-- | indra/newview/llmeshrepository.cpp | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 29904c579c..3545b5128a 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -2716,7 +2716,18 @@ void LLMeshRepository::buildHull(const LLVolumeParams& params, S32 detail)  bool LLMeshRepository::hasPhysicsShape(const LLUUID& mesh_id)  {  	LLSD mesh = mThread->getMeshHeader(mesh_id); -	return mesh.has("physics_mesh") && mesh["physics_mesh"].has("size") && (mesh["physics_mesh"]["size"].asInteger() > 0); +	if (mesh.has("physics_mesh") && mesh["physics_mesh"].has("size") && (mesh["physics_mesh"]["size"].asInteger() > 0)) +	{ +		return true; +	} + +	LLModel::Decomposition* decomp = getDecomposition(mesh_id); +	if (decomp && !decomp->mHull.empty()) +	{ +		return true; +	} + +	return false;  }  LLSD& LLMeshRepository::getMeshHeader(const LLUUID& mesh_id)  | 
