diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | 36 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 17 |
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 | ||