diff options
author | Melanie | 2012-04-17 23:39:41 +0200 |
---|---|---|
committer | Melanie | 2012-04-17 23:39:41 +0200 |
commit | 0fe0b2ceec2440ff284d7a494d090ce43449fd97 (patch) | |
tree | a4ccaf9e24262ec26f624d34b9011456380b4a54 /OpenSim/Region | |
parent | Merge branch 'ubitwork' (diff) | |
download | opensim-SC-0fe0b2ceec2440ff284d7a494d090ce43449fd97.zip opensim-SC-0fe0b2ceec2440ff284d7a494d090ce43449fd97.tar.gz opensim-SC-0fe0b2ceec2440ff284d7a494d090ce43449fd97.tar.bz2 opensim-SC-0fe0b2ceec2440ff284d7a494d090ce43449fd97.tar.xz |
Prevent objects rezzed in sim from being seen as attachments and becoming uneditable or crashers. (Foxtail of death)
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 74701a5..f41e89e 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -768,6 +768,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
768 | { | 768 | { |
769 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 769 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
770 | g.RootPart.AttachOffset = g.AbsolutePosition; | 770 | g.RootPart.AttachOffset = g.AbsolutePosition; |
771 | g.RootPart.Shape.State = 0; | ||
771 | } | 772 | } |
772 | 773 | ||
773 | objlist.Add(g); | 774 | objlist.Add(g); |
@@ -800,6 +801,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
800 | SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(n.OuterXml); | 801 | SceneObjectGroup g = SceneObjectSerializer.FromOriginalXmlFormat(n.OuterXml); |
801 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 802 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
802 | g.RootPart.AttachOffset = g.AbsolutePosition; | 803 | g.RootPart.AttachOffset = g.AbsolutePosition; |
804 | g.RootPart.Shape.State = 0; | ||
803 | 805 | ||
804 | objlist.Add(g); | 806 | objlist.Add(g); |
805 | XmlElement el = (XmlElement)n; | 807 | XmlElement el = (XmlElement)n; |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3fd1f5e..47020af 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1941,6 +1941,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1941 | // "[SCENE]: Storing {0}, {1} in {2}", | 1941 | // "[SCENE]: Storing {0}, {1} in {2}", |
1942 | // Name, UUID, m_scene.RegionInfo.RegionName); | 1942 | // Name, UUID, m_scene.RegionInfo.RegionName); |
1943 | 1943 | ||
1944 | if (RootPart.Shape.PCode == 9 && RootPart.Shape.State != 0) | ||
1945 | { | ||
1946 | RootPart.Shape.State = 0; | ||
1947 | ScheduleGroupForFullUpdate(); | ||
1948 | } | ||
1949 | |||
1944 | SceneObjectGroup backup_group = Copy(false); | 1950 | SceneObjectGroup backup_group = Copy(false); |
1945 | backup_group.RootPart.Velocity = RootPart.Velocity; | 1951 | backup_group.RootPart.Velocity = RootPart.Velocity; |
1946 | backup_group.RootPart.Acceleration = RootPart.Acceleration; | 1952 | backup_group.RootPart.Acceleration = RootPart.Acceleration; |