diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
3 files changed, 17 insertions, 12 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index 54715a8..a1629fb 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -633,12 +633,19 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
633 | 633 | ||
634 | // Validate User and Group UUID's | 634 | // Validate User and Group UUID's |
635 | 635 | ||
636 | if (!ResolveGroupUuid(parcel.GroupID)) | ||
637 | parcel.GroupID = UUID.Zero; | ||
638 | |||
636 | if (parcel.IsGroupOwned) | 639 | if (parcel.IsGroupOwned) |
637 | { | 640 | { |
638 | if (!ResolveGroupUuid(parcel.GroupID)) | 641 | if (parcel.GroupID != UUID.Zero) |
642 | { | ||
643 | // In group-owned parcels, OwnerID=GroupID. This should already be the case, but let's make sure. | ||
644 | parcel.OwnerID = parcel.GroupID; | ||
645 | } | ||
646 | else | ||
639 | { | 647 | { |
640 | parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; | 648 | parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; |
641 | parcel.GroupID = UUID.Zero; | ||
642 | parcel.IsGroupOwned = false; | 649 | parcel.IsGroupOwned = false; |
643 | } | 650 | } |
644 | } | 651 | } |
@@ -646,9 +653,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
646 | { | 653 | { |
647 | if (!ResolveUserUuid(scene, parcel.OwnerID)) | 654 | if (!ResolveUserUuid(scene, parcel.OwnerID)) |
648 | parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; | 655 | parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; |
649 | |||
650 | if (!ResolveGroupUuid(parcel.GroupID)) | ||
651 | parcel.GroupID = UUID.Zero; | ||
652 | } | 656 | } |
653 | 657 | ||
654 | List<LandAccessEntry> accessList = new List<LandAccessEntry>(); | 658 | List<LandAccessEntry> accessList = new List<LandAccessEntry>(); |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 0ecf13b..5ab97ff 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -1543,8 +1543,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1543 | 1543 | ||
1544 | private void IncomingLandObjectFromStorage(LandData data) | 1544 | private void IncomingLandObjectFromStorage(LandData data) |
1545 | { | 1545 | { |
1546 | ILandObject new_land = new LandObject(data.OwnerID, data.IsGroupOwned, m_scene); | 1546 | ILandObject new_land = new LandObject(data, m_scene); |
1547 | new_land.LandData = data.Copy(); | ||
1548 | new_land.SetLandBitmapFromByteArray(); | 1547 | new_land.SetLandBitmapFromByteArray(); |
1549 | AddLandObject(new_land); | 1548 | AddLandObject(new_land); |
1550 | } | 1549 | } |
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index af19ca3..57fa4d9 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs | |||
@@ -120,6 +120,12 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
120 | 120 | ||
121 | #region Constructors | 121 | #region Constructors |
122 | 122 | ||
123 | public LandObject(LandData landData, Scene scene) | ||
124 | { | ||
125 | LandData = landData.Copy(); | ||
126 | m_scene = scene; | ||
127 | } | ||
128 | |||
123 | public LandObject(UUID owner_id, bool is_group_owned, Scene scene) | 129 | public LandObject(UUID owner_id, bool is_group_owned, Scene scene) |
124 | { | 130 | { |
125 | m_scene = scene; | 131 | m_scene = scene; |
@@ -163,12 +169,8 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
163 | 169 | ||
164 | public ILandObject Copy() | 170 | public ILandObject Copy() |
165 | { | 171 | { |
166 | ILandObject newLand = new LandObject(LandData.OwnerID, LandData.IsGroupOwned, m_scene); | 172 | ILandObject newLand = new LandObject(LandData, m_scene); |
167 | |||
168 | //Place all new variables here! | ||
169 | newLand.LandBitmap = (bool[,]) (LandBitmap.Clone()); | 173 | newLand.LandBitmap = (bool[,]) (LandBitmap.Clone()); |
170 | newLand.LandData = LandData.Copy(); | ||
171 | |||
172 | return newLand; | 174 | return newLand; |
173 | } | 175 | } |
174 | 176 | ||