aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs36
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs17
2 files changed, 52 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index f638386..4ea283f 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -1620,8 +1620,24 @@ namespace OpenSim.Region.Framework.Scenes
1620 { 1620 {
1621 UUID assetID = UUID.Zero; 1621 UUID assetID = UUID.Zero;
1622 1622
1623 Vector3 inventoryStoredPosition = new Vector3
1624 (((objectGroup.AbsolutePosition.X > (int)Constants.RegionSize)
1625 ? 250
1626 : objectGroup.AbsolutePosition.X)
1627 ,
1628 (objectGroup.AbsolutePosition.X > (int)Constants.RegionSize)
1629 ? 250
1630 : objectGroup.AbsolutePosition.X,
1631 objectGroup.AbsolutePosition.Z);
1632
1633 Vector3 originalPosition = objectGroup.AbsolutePosition;
1634
1635 objectGroup.AbsolutePosition = inventoryStoredPosition;
1636
1623 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(objectGroup); 1637 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(objectGroup);
1624 1638
1639 objectGroup.AbsolutePosition = originalPosition;
1640
1625 // Get the user info of the item destination 1641 // Get the user info of the item destination
1626 // 1642 //
1627 UUID userID = UUID.Zero; 1643 UUID userID = UUID.Zero;
@@ -1683,6 +1699,8 @@ namespace OpenSim.Region.Framework.Scenes
1683 { 1699 {
1684 // Deleting someone else's item 1700 // Deleting someone else's item
1685 // 1701 //
1702
1703
1686 if (remoteClient == null || 1704 if (remoteClient == null ||
1687 objectGroup.OwnerID != remoteClient.AgentId) 1705 objectGroup.OwnerID != remoteClient.AgentId)
1688 { 1706 {
@@ -1857,8 +1875,24 @@ namespace OpenSim.Region.Framework.Scenes
1857 itemID = UUID.Zero; 1875 itemID = UUID.Zero;
1858 if (grp != null) 1876 if (grp != null)
1859 { 1877 {
1878 Vector3 inventoryStoredPosition = new Vector3
1879 (((grp.AbsolutePosition.X > (int)Constants.RegionSize)
1880 ? 250
1881 : grp.AbsolutePosition.X)
1882 ,
1883 (grp.AbsolutePosition.X > (int)Constants.RegionSize)
1884 ? 250
1885 : grp.AbsolutePosition.X,
1886 grp.AbsolutePosition.Z);
1887
1888 Vector3 originalPosition = grp.AbsolutePosition;
1889
1890 grp.AbsolutePosition = inventoryStoredPosition;
1891
1860 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(grp); 1892 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(grp);
1861 1893
1894 grp.AbsolutePosition = originalPosition;
1895
1862 AssetBase asset = CreateAsset( 1896 AssetBase asset = CreateAsset(
1863 grp.GetPartName(grp.LocalId), 1897 grp.GetPartName(grp.LocalId),
1864 grp.GetPartDescription(grp.LocalId), 1898 grp.GetPartDescription(grp.LocalId),
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 3b91dd0..d43a7e2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -4256,7 +4256,24 @@ namespace OpenSim.Region.Framework.Scenes
4256 break; 4256 break;
4257 4257
4258 case 2: // Sell a copy 4258 case 2: // Sell a copy
4259
4260
4261 Vector3 inventoryStoredPosition = new Vector3
4262 (((group.AbsolutePosition.X > (int)Constants.RegionSize)
4263 ? 250
4264 : group.AbsolutePosition.X)
4265 ,
4266 (group.AbsolutePosition.X > (int)Constants.RegionSize)
4267 ? 250
4268 : group.AbsolutePosition.X,
4269 group.AbsolutePosition.Z);
4270
4271 Vector3 originalPosition = group.AbsolutePosition;
4272
4273 group.AbsolutePosition = inventoryStoredPosition;
4274
4259 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(group); 4275 string sceneObjectXml = SceneObjectSerializer.ToOriginalXmlFormat(group);
4276 group.AbsolutePosition = originalPosition;
4260 4277
4261 uint perms=group.GetEffectivePermissions(); 4278 uint perms=group.GetEffectivePermissions();
4262 4279