do clear MOAP on remove
parent
4626f0850a
commit
89ac80189c
|
@ -219,9 +219,13 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
|
||||||
lock (media)
|
lock (media)
|
||||||
me = media[face];
|
me = media[face];
|
||||||
|
|
||||||
// TODO: Really need a proper copy constructor down in libopenmetaverse
|
|
||||||
if (me != null)
|
if (me != null)
|
||||||
me = MediaEntry.FromOSD(me.GetOSD());
|
{
|
||||||
|
Primitive.TextureEntry te = part.Shape.Textures;
|
||||||
|
Primitive.TextureEntryFace teFace = te.GetFace((uint)face);
|
||||||
|
if (teFace != null && teFace.MediaFlags)
|
||||||
|
me = MediaEntry.FromOSD(me.GetOSD());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// m_log.DebugFormat("[MOAP]: GetMediaEntry for {0} face {1} found {2}", part.Name, face, me);
|
// m_log.DebugFormat("[MOAP]: GetMediaEntry for {0} face {1} found {2}", part.Name, face, me);
|
||||||
|
@ -336,15 +340,40 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (null == part.Shape.Media)
|
if (part.Shape.Media == null)
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
|
|
||||||
ObjectMediaResponse resp = new ObjectMediaResponse();
|
MediaEntry[] currentML = part.Shape.Media.ToArray();
|
||||||
|
|
||||||
|
int nentries = currentML.Length;
|
||||||
|
int nsides = part.GetNumberOfSides();
|
||||||
|
if(nentries > nsides)
|
||||||
|
nentries = nsides;
|
||||||
|
|
||||||
|
Primitive.TextureEntry te = part.Shape.Textures;
|
||||||
|
bool isnull = true;
|
||||||
|
|
||||||
|
for(int face = 0; face < nentries; ++face)
|
||||||
|
{
|
||||||
|
Primitive.TextureEntryFace teFace = te.GetFace((uint)face);
|
||||||
|
if(!teFace.MediaFlags)
|
||||||
|
currentML[face] = null;
|
||||||
|
else
|
||||||
|
isnull = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isnull)
|
||||||
|
{
|
||||||
|
//remove the damm thing
|
||||||
|
part.Shape.Media = null;
|
||||||
|
part.MediaUrl = null;
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
ObjectMediaResponse resp = new ObjectMediaResponse();
|
||||||
resp.PrimID = primId;
|
resp.PrimID = primId;
|
||||||
|
|
||||||
lock (part.Shape.Media)
|
resp.FaceMedia = currentML;
|
||||||
resp.FaceMedia = part.Shape.Media.ToArray();
|
|
||||||
|
|
||||||
resp.Version = part.MediaUrl;
|
resp.Version = part.MediaUrl;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue