diff --git a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
index ffb3221bc6..b8943adbe8 100644
--- a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
+++ b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
@@ -230,7 +230,7 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
///
/// /param>
///
- ///
+ /// If null, then the media entry is cleared.
public void SetMediaEntry(SceneObjectPart part, int face, MediaEntry me)
{
// m_log.DebugFormat("[MOAP]: SetMediaEntry for {0}, face {1}", part.Name, face);
@@ -238,7 +238,12 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
CheckFaceParam(part, face);
if (null == part.Shape.Media)
- part.Shape.Media = new PrimitiveBaseShape.MediaList(new MediaEntry[part.GetNumberOfSides()]);
+ {
+ if (me == null)
+ return;
+ else
+ part.Shape.Media = new PrimitiveBaseShape.MediaList(new MediaEntry[part.GetNumberOfSides()]);
+ }
lock (part.Shape.Media)
part.Shape.Media[face] = me;
@@ -248,7 +253,7 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
// Temporary code to fix llSetPrimMediaParams() bug, pending refactoring
Primitive.TextureEntry te = part.Shape.Textures;
Primitive.TextureEntryFace teFace = te.CreateFace((uint)face);
- teFace.MediaFlags = true;
+ teFace.MediaFlags = me != null;
part.Shape.Textures = te;
part.ScheduleFullUpdate();
@@ -262,24 +267,7 @@ namespace OpenSim.Region.CoreModules.World.Media.Moap
///
public void ClearMediaEntry(SceneObjectPart part, int face)
{
- CheckFaceParam(part, face);
-
- // If no media has been set up yetthen we don't need to clear anything
- if (null == part.Shape.Media)
- return;
-
- lock (part.Shape.Media)
- part.Shape.Media[face] = null;
-
- UpdateMediaUrl(part, UUID.Zero);
-
- Primitive.TextureEntry te = part.Shape.Textures;
- Primitive.TextureEntryFace teFace = te.CreateFace((uint)face);
- teFace.MediaFlags = false;
- part.Shape.Textures = te;
-
- part.ScheduleFullUpdate();
- part.TriggerScriptChangedEvent(Changed.MEDIA);
+ SetMediaEntry(part, face, null);
}
///