From cda531bc3ce5e4a73eca33d6284197bbd59c9252 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Fri, 23 Nov 2012 05:43:51 +0000 Subject: minor: Add some currently commented out debug log lines for investigating issues resolving group IDs for land parcels on OAR loading where groups do not exist --- OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs') diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index ea806ec..60bbf9b 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs @@ -557,9 +557,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver if (!ResolveGroupUuid(parcel.GroupID)) { +// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Could not find group {0}", parcel.GroupID); parcel.GroupID = UUID.Zero; parcel.IsGroupOwned = false; } +// else +// { +// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Found group {0}", parcel.GroupID); +// } List accessList = new List(); foreach (LandAccessEntry entry in parcel.ParcelAccessList) -- cgit v1.1 From 82690e138448ebac6456ab03dcca4b0a8a1cc57a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sat, 24 Nov 2012 02:43:31 +0000 Subject: 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. --- .../World/Archiver/ArchiveReadRequest.cs | 30 ++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs') 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 // Validate User and Group UUID's - if (!ResolveUserUuid(scene, parcel.OwnerID)) - parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; - - if (!ResolveGroupUuid(parcel.GroupID)) + if (parcel.IsGroupOwned) { -// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Could not find group {0}", parcel.GroupID); - parcel.GroupID = UUID.Zero; - parcel.IsGroupOwned = false; + if (!ResolveGroupUuid(parcel.GroupID)) + { + parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; + parcel.GroupID = UUID.Zero; + parcel.IsGroupOwned = false; + } + } + else + { + if (!ResolveUserUuid(scene, parcel.OwnerID)) + parcel.OwnerID = m_rootScene.RegionInfo.EstateSettings.EstateOwner; + + if (!ResolveGroupUuid(parcel.GroupID)) + parcel.GroupID = UUID.Zero; } -// else -// { -// m_log.DebugFormat("[ARCHIVE READ REQUEST]: Found group {0}", parcel.GroupID); -// } List accessList = new List(); foreach (LandAccessEntry entry in parcel.ParcelAccessList) @@ -576,8 +580,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver parcel.ParcelAccessList = accessList; // m_log.DebugFormat( -// "[ARCHIVER]: Adding parcel {0}, local id {1}, area {2}", -// parcel.Name, parcel.LocalID, parcel.Area); +// "[ARCHIVER]: Adding parcel {0}, local id {1}, owner {2}, group {3}, isGroupOwned {4}, area {5}", +// parcel.Name, parcel.LocalID, parcel.OwnerID, parcel.GroupID, parcel.IsGroupOwned, parcel.Area); landData.Add(parcel); } -- cgit v1.1