diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs index 43c7e7d..4c11135 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs | |||
@@ -387,7 +387,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
387 | inventoryStoredPosition = objectGroup.RootPart.AttachOffset; | 387 | inventoryStoredPosition = objectGroup.RootPart.AttachOffset; |
388 | inventoryStoredRotation = objectGroup.RootPart.AttachRotation; | 388 | inventoryStoredRotation = objectGroup.RootPart.AttachRotation; |
389 | } | 389 | } |
390 | objectGroup.RootPart.Shape.State = objectGroup.RootPart.AttachPoint; | 390 | |
391 | // Trees could be attached and it's been done, but it makes | ||
392 | // no sense. State must be preserved because it's the tree type | ||
393 | if (objectGroup.RootPart.Shape.PCode != (byte)PCode.Tree && | ||
394 | objectGroup.RootPart.Shape.PCode != (byte)PCode.NewTree) | ||
395 | objectGroup.RootPart.Shape.State = objectGroup.RootPart.AttachPoint; | ||
391 | 396 | ||
392 | objectGroup.AbsolutePosition = inventoryStoredPosition; | 397 | objectGroup.AbsolutePosition = inventoryStoredPosition; |
393 | objectGroup.RootPart.RotationOffset = inventoryStoredRotation; | 398 | objectGroup.RootPart.RotationOffset = inventoryStoredRotation; |
@@ -791,7 +796,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
791 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 796 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
792 | g.RootPart.AttachOffset = g.AbsolutePosition; | 797 | g.RootPart.AttachOffset = g.AbsolutePosition; |
793 | g.RootPart.AttachRotation = g.GroupRotation; | 798 | g.RootPart.AttachRotation = g.GroupRotation; |
794 | g.RootPart.Shape.State = 0; | 799 | if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && |
800 | g.RootPart.Shape.PCode != (byte)PCode.Tree) | ||
801 | g.RootPart.Shape.State = 0; | ||
795 | } | 802 | } |
796 | 803 | ||
797 | objlist.Add(g); | 804 | objlist.Add(g); |
@@ -825,7 +832,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
825 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 832 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
826 | g.RootPart.AttachOffset = g.AbsolutePosition; | 833 | g.RootPart.AttachOffset = g.AbsolutePosition; |
827 | g.RootPart.AttachRotation = g.GroupRotation; | 834 | g.RootPart.AttachRotation = g.GroupRotation; |
828 | g.RootPart.Shape.State = 0; | 835 | if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && |
836 | g.RootPart.Shape.PCode != (byte)PCode.Tree) | ||
837 | g.RootPart.Shape.State = 0; | ||
829 | 838 | ||
830 | objlist.Add(g); | 839 | objlist.Add(g); |
831 | XmlElement el = (XmlElement)n; | 840 | XmlElement el = (XmlElement)n; |