aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs15
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;