aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-11-24 02:43:31 +0000
committerJustin Clark-Casey (justincc)2012-11-24 02:43:31 +0000
commit82690e138448ebac6456ab03dcca4b0a8a1cc57a (patch)
tree0b5de164235b49d9d66f09582b857cd129d68b96 /OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
parentminor: Add some currently commented out debug log lines for investigating iss... (diff)
downloadopensim-SC_OLD-82690e138448ebac6456ab03dcca4b0a8a1cc57a.zip
opensim-SC_OLD-82690e138448ebac6456ab03dcca4b0a8a1cc57a.tar.gz
opensim-SC_OLD-82690e138448ebac6456ab03dcca4b0a8a1cc57a.tar.bz2
opensim-SC_OLD-82690e138448ebac6456ab03dcca4b0a8a1cc57a.tar.xz
Fix bug where loading an OAR with a deeded parcel would always set the parcel owner ID to the estate owner even if the group UUID was present.
Aims to address http://opensimulator.org/mantis/view.php?id=6355 As part of this work, an incomplete IXGroupsData was added which currently only allows store/fetch/delete of group records (i.e. no membership data etc) This is subject to change and currently only an in-memory storage implementation exists for regression test purposes.
Diffstat (limited to 'OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs30
1 files changed, 17 insertions, 13 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index 60bbf9b..c810242 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -552,19 +552,23 @@ namespace OpenSim.Region.CoreModules.World.Archiver
552 552
553 // Validate User and Group UUID's 553 // Validate User and Group UUID's
554 554
555 if (!ResolveUserUuid(scene, parcel.OwnerID)) 555 if (parcel.IsGroupOwned)
556 parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner;
557
558 if (!ResolveGroupUuid(parcel.GroupID))
559 { 556 {
560// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Could not find group {0}", parcel.GroupID); 557 if (!ResolveGroupUuid(parcel.GroupID))
561 parcel.GroupID = UUID.Zero; 558 {
562 parcel.IsGroupOwned = false; 559 parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner;
560 parcel.GroupID = UUID.Zero;
561 parcel.IsGroupOwned = false;
562 }
563 }
564 else
565 {
566 if (!ResolveUserUuid(scene, parcel.OwnerID))
567 parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner;
568
569 if (!ResolveGroupUuid(parcel.GroupID))
570 parcel.GroupID = UUID.Zero;
563 } 571 }
564// else
565// {
566// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Found group {0}", parcel.GroupID);
567// }
568 572
569 List<LandAccessEntry> accessList = new List<LandAccessEntry>(); 573 List<LandAccessEntry> accessList = new List<LandAccessEntry>();
570 foreach (LandAccessEntry entry in parcel.ParcelAccessList) 574 foreach (LandAccessEntry entry in parcel.ParcelAccessList)
@@ -576,8 +580,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver
576 parcel.ParcelAccessList = accessList; 580 parcel.ParcelAccessList = accessList;
577 581
578// m_log.DebugFormat( 582// m_log.DebugFormat(
579// "[ARCHIVER]: Adding parcel {0}, local id {1}, area {2}", 583// "[ARCHIVER]: Adding parcel {0}, local id {1}, owner {2}, group {3}, isGroupOwned {4}, area {5}",
580// parcel.Name, parcel.LocalID, parcel.Area); 584// parcel.Name, parcel.LocalID, parcel.OwnerID, parcel.GroupID, parcel.IsGroupOwned, parcel.Area);
581 585
582 landData.Add(parcel); 586 landData.Add(parcel);
583 } 587 }