Merge branch 'master' of ssh://opensimulator.org/var/git/opensim

user_profiles
Justin Clark-Casey (justincc) 2013-03-26 23:00:51 +00:00
commit 3072f257f5
1 changed files with 68 additions and 56 deletions

View File

@ -929,6 +929,17 @@ public sealed class BSShapeCollection : IDisposable
if (newShape.HasPhysicalShape) if (newShape.HasPhysicalShape)
return newShape; return newShape;
// VerifyMeshCreated is called after trying to create the mesh. If we think the asset had been
// fetched but we end up here again, the meshing of the asset must have failed.
// Prevent trying to keep fetching the mesh by declaring failure.
if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Fetched)
{
prim.PrimAssetState = BSPhysObject.PrimAssetCondition.Failed;
PhysicsScene.Logger.WarnFormat("{0} Fetched asset would not mesh. {1}, texture={2}",
LogHeader, prim.PhysObjectName, prim.BaseShape.SculptTexture);
}
else
{
// If this mesh has an underlying asset and we have not failed getting it before, fetch the asset // If this mesh has an underlying asset and we have not failed getting it before, fetch the asset
if (prim.BaseShape.SculptEntry if (prim.BaseShape.SculptEntry
&& prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Failed && prim.PrimAssetState != BSPhysObject.PrimAssetCondition.Failed
@ -988,8 +999,9 @@ public sealed class BSShapeCollection : IDisposable
{ {
if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed) if (prim.PrimAssetState == BSPhysObject.PrimAssetCondition.Failed)
{ {
PhysicsScene.Logger.ErrorFormat("{0} Mesh failed to fetch asset. lID={1}, texture={2}", PhysicsScene.Logger.WarnFormat("{0} Mesh failed to fetch asset. obj={1}, texture={2}",
LogHeader, prim.LocalID, prim.BaseShape.SculptTexture); LogHeader, prim.PhysObjectName, prim.BaseShape.SculptTexture);
}
} }
} }