aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Permissions.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs30
2 files changed, 19 insertions, 17 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs
index 535d87a..4d90726 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Permissions.cs
@@ -70,7 +70,7 @@ namespace OpenSim.Region.Framework.Scenes
70 public delegate bool IsGridGodHandler(UUID user, Scene requestFromScene); 70 public delegate bool IsGridGodHandler(UUID user, Scene requestFromScene);
71 public delegate bool IsAdministratorHandler(UUID user); 71 public delegate bool IsAdministratorHandler(UUID user);
72 public delegate bool EditParcelHandler(UUID user, ILandObject parcel, Scene scene); 72 public delegate bool EditParcelHandler(UUID user, ILandObject parcel, Scene scene);
73 public delegate bool EditParcelPropertiesHandler(UUID user, ILandObject parcel, GroupPowers p, Scene scene); 73 public delegate bool EditParcelPropertiesHandler(UUID user, ILandObject parcel, GroupPowers p, Scene scene, bool allowManager);
74 public delegate bool SellParcelHandler(UUID user, ILandObject parcel, Scene scene); 74 public delegate bool SellParcelHandler(UUID user, ILandObject parcel, Scene scene);
75 public delegate bool AbandonParcelHandler(UUID user, ILandObject parcel, Scene scene); 75 public delegate bool AbandonParcelHandler(UUID user, ILandObject parcel, Scene scene);
76 public delegate bool ReclaimParcelHandler(UUID user, ILandObject parcel, Scene scene); 76 public delegate bool ReclaimParcelHandler(UUID user, ILandObject parcel, Scene scene);
@@ -763,7 +763,7 @@ namespace OpenSim.Region.Framework.Scenes
763 763
764 #region EDIT PARCEL 764 #region EDIT PARCEL
765 765
766 public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p) 766 public bool CanEditParcelProperties(UUID user, ILandObject parcel, GroupPowers p, bool allowManager)
767 { 767 {
768 EditParcelPropertiesHandler handler = OnEditParcelProperties; 768 EditParcelPropertiesHandler handler = OnEditParcelProperties;
769 if (handler != null) 769 if (handler != null)
@@ -771,7 +771,7 @@ namespace OpenSim.Region.Framework.Scenes
771 Delegate[] list = handler.GetInvocationList(); 771 Delegate[] list = handler.GetInvocationList();
772 foreach (EditParcelPropertiesHandler h in list) 772 foreach (EditParcelPropertiesHandler h in list)
773 { 773 {
774 if (h(user, parcel, p, m_scene) == false) 774 if (h(user, parcel, p, m_scene, allowManager) == false)
775 return false; 775 return false;
776 } 776 }
777 } 777 }
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 2420048..cfa862e 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -1881,25 +1881,27 @@ namespace OpenSim.Region.Framework.Scenes
1881 { 1881 {
1882 SceneObjectPart part = parts[i]; 1882 SceneObjectPart part = parts[i];
1883 1883
1884 Scene.ForEachScenePresence(sp => 1884 if (Scene != null)
1885 { 1885 {
1886 if (!sp.IsChildAgent && sp.ParentID == LocalId) 1886 Scene.ForEachRootScenePresence(delegate(ScenePresence avatar)
1887 sp.StandUp();
1888
1889 if (!silent)
1890 { 1887 {
1891 part.ClearUpdateSchedule(); 1888 if (avatar.ParentID == LocalId)
1892 if (part == m_rootPart) 1889 avatar.StandUp();
1890
1891 if (!silent)
1893 { 1892 {
1894 if (!IsAttachment 1893 part.ClearUpdateSchedule();
1895 || AttachedAvatar == sp.UUID 1894 if (part == m_rootPart)
1896 || !HasPrivateAttachmentPoint) 1895 {
1897 sp.ControllingClient.SendKillObject(new List<uint> { part.LocalId }); 1896 if (!IsAttachment
1897 || AttachedAvatar == avatar.ControllingClient.AgentId
1898 || !HasPrivateAttachmentPoint)
1899 avatar.ControllingClient.SendKillObject(new List<uint> { part.LocalId });
1900 }
1898 } 1901 }
1899 } 1902 });
1900 }); 1903 }
1901 } 1904 }
1902
1903 } 1905 }
1904 1906
1905 public void AddScriptLPS(int count) 1907 public void AddScriptLPS(int count)