diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs')
-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 f5b509f..d5c2661 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; |
@@ -797,7 +802,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
797 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 802 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
798 | g.RootPart.AttachOffset = g.AbsolutePosition; | 803 | g.RootPart.AttachOffset = g.AbsolutePosition; |
799 | g.RootPart.AttachRotation = g.GroupRotation; | 804 | g.RootPart.AttachRotation = g.GroupRotation; |
800 | g.RootPart.Shape.State = 0; | 805 | if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && |
806 | g.RootPart.Shape.PCode != (byte)PCode.Tree) | ||
807 | g.RootPart.Shape.State = 0; | ||
801 | } | 808 | } |
802 | 809 | ||
803 | objlist.Add(g); | 810 | objlist.Add(g); |
@@ -831,7 +838,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess | |||
831 | g.RootPart.AttachPoint = g.RootPart.Shape.State; | 838 | g.RootPart.AttachPoint = g.RootPart.Shape.State; |
832 | g.RootPart.AttachOffset = g.AbsolutePosition; | 839 | g.RootPart.AttachOffset = g.AbsolutePosition; |
833 | g.RootPart.AttachRotation = g.GroupRotation; | 840 | g.RootPart.AttachRotation = g.GroupRotation; |
834 | g.RootPart.Shape.State = 0; | 841 | if (g.RootPart.Shape.PCode != (byte)PCode.NewTree && |
842 | g.RootPart.Shape.PCode != (byte)PCode.Tree) | ||
843 | g.RootPart.Shape.State = 0; | ||
835 | 844 | ||
836 | objlist.Add(g); | 845 | objlist.Add(g); |
837 | XmlElement el = (XmlElement)n; | 846 | XmlElement el = (XmlElement)n; |