diff --git a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
index f4814ce44d..e9d723bc98 100644
--- a/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
+++ b/OpenSim/Region/CoreModules/World/Media/Moap/MoapModule.cs
@@ -266,7 +266,7 @@ namespace OpenSim.Region.CoreModules.Media.Moap
}
}
- protected void OnSceneObjectPartCopy(SceneObjectPart copy, SceneObjectPart original)
+ protected void OnSceneObjectPartCopy(SceneObjectPart copy, SceneObjectPart original, bool userExposed)
{
if (original.Shape.Media != null)
{
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs
index 0a9a29e4ee..0ae3146a02 100644
--- a/OpenSim/Region/Framework/Scenes/EventManager.cs
+++ b/OpenSim/Region/Framework/Scenes/EventManager.cs
@@ -354,8 +354,11 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Called when a scene object part is cloned within the region.
///
+ ///
+ ///
+ /// True if the duplicate will immediately be in the scene, false otherwise
public event SceneObjectPartCopyDelegate OnSceneObjectPartCopy;
- public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original);
+ public delegate void SceneObjectPartCopyDelegate(SceneObjectPart copy, SceneObjectPart original, bool userExposed);
public delegate void RegionUp(GridRegion region);
public event RegionUp OnRegionUp;
@@ -2081,7 +2084,7 @@ namespace OpenSim.Region.Framework.Scenes
}
}
- public void TriggerOnSceneObjectPartCopy(SceneObjectPart copy, SceneObjectPart original)
+ public void TriggerOnSceneObjectPartCopy(SceneObjectPart copy, SceneObjectPart original, bool userExposed)
{
SceneObjectPartCopyDelegate handler = OnSceneObjectPartCopy;
if (handler != null)
@@ -2090,7 +2093,7 @@ namespace OpenSim.Region.Framework.Scenes
{
try
{
- d(copy, original);
+ d(copy, original, userExposed);
}
catch (Exception e)
{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index c2f9117220..e26e4aef14 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1528,6 +1528,7 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Duplicates this object, including operations such as physics set up and attaching to the backup event.
///
+ /// True if the duplicate will immediately be in the scene, false otherwise
///
public SceneObjectGroup Copy(bool userExposed)
{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 71ca60531f..32332f7ab4 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -1554,6 +1554,11 @@ namespace OpenSim.Region.Framework.Scenes
///
/// Duplicates this part.
///
+ ///
+ ///
+ ///
+ ///
+ /// True if the duplicate will immediately be in the scene, false otherwise
///
public SceneObjectPart Copy(uint localID, UUID AgentID, UUID GroupID, int linkNum, bool userExposed)
{
@@ -1617,7 +1622,7 @@ namespace OpenSim.Region.Framework.Scenes
dupe.DoPhysicsPropertyUpdate(UsePhysics, true);
}
- ParentGroup.Scene.EventManager.TriggerOnSceneObjectPartCopy(dupe, this);
+ ParentGroup.Scene.EventManager.TriggerOnSceneObjectPartCopy(dupe, this, userExposed);
// m_log.DebugFormat("[SCENE OBJECT PART]: Clone of {0} {1} finished", Name, UUID);