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);