aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie2010-01-10 22:41:42 +0000
committerMelanie2010-01-10 22:41:42 +0000
commit3c90d834eac382af5edf091e83aea1ffcce91792 (patch)
tree60662b0f13fab4e0d7a7ab93533e5e66edbecf68 /OpenSim
parent* Last reference to CommsManager.UserProfileCacheService removed (diff)
downloadopensim-SC_OLD-3c90d834eac382af5edf091e83aea1ffcce91792.zip
opensim-SC_OLD-3c90d834eac382af5edf091e83aea1ffcce91792.tar.gz
opensim-SC_OLD-3c90d834eac382af5edf091e83aea1ffcce91792.tar.bz2
opensim-SC_OLD-3c90d834eac382af5edf091e83aea1ffcce91792.tar.xz
Remove all references to master avatar, replacing with estate owner where
appropriate. This changes the behavior of the REST plugins and RemoteAdmin's region creation process.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs40
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs8
-rw-r--r--OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs9
-rw-r--r--OpenSim/Client/MXP/ClientStack/MXPClientView.cs2
-rw-r--r--OpenSim/Framework/Communications/Clients/GridClient.cs5
-rw-r--r--OpenSim/Framework/RegionInfo.cs96
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs29
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs7
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs16
-rw-r--r--OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs18
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs15
-rw-r--r--OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs6
-rw-r--r--OpenSim/Region/DataSnapshot/EstateSnapshot.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs6
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs4
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs6
-rw-r--r--OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs4
-rw-r--r--OpenSim/Services/Interfaces/IGridService.cs6
18 files changed, 21 insertions, 260 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
index a82d25a..0a7b990 100644
--- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs
@@ -584,45 +584,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
584 { 584 {
585 // ok, client wants us to use an explicit UUID 585 // ok, client wants us to use an explicit UUID
586 // regardless of what the avatar name provided 586 // regardless of what the avatar name provided
587 userID = new UUID((string) requestData["region_master_uuid"]); 587 userID = new UUID((string) requestData["estate_owner_uuid"]);
588 } 588 }
589 else
590 {
591 if (masterFirst != String.Empty && masterLast != String.Empty) // User requests a master avatar
592 {
593 // no client supplied UUID: look it up...
594 UUID scopeID = m_app.SceneManager.CurrentOrFirstScene.RegionInfo.ScopeID;
595 UserAccount account = m_app.SceneManager.CurrentOrFirstScene.UserAccountService.GetUserAccount(scopeID, masterFirst, masterLast);
596 if (null == account)
597 {
598 m_log.InfoFormat("master avatar does not exist, creating it");
599 // ...or create new user
600
601 account = new UserAccount(scopeID, masterFirst, masterLast, "");
602 bool success = m_app.SceneManager.CurrentOrFirstScene.UserAccountService.StoreUserAccount(account);
603 if (success)
604 {
605 GridRegion home = m_app.SceneManager.CurrentOrFirstScene.GridService.GetRegionByPosition(scopeID,
606 (int)(region.RegionLocX * Constants.RegionSize), (int)(region.RegionLocY * Constants.RegionSize));
607
608 m_app.SceneManager.CurrentOrFirstScene.PresenceService.SetHomeLocation(account.PrincipalID.ToString(), home.RegionID, new Vector3(128, 128, 0), new Vector3(0, 1, 0));
609 }
610 else
611 throw new Exception(String.Format("failed to create new user {0} {1}",
612 masterFirst, masterLast));
613
614 }
615 else
616 {
617 userID = account.PrincipalID;
618 }
619 }
620 }
621
622 region.MasterAvatarFirstName = masterFirst;
623 region.MasterAvatarLastName = masterLast;
624 region.MasterAvatarSandboxPassword = masterPassword;
625 region.MasterAvatarAssignedUUID = userID;
626 589
627 bool persist = Convert.ToBoolean((string) requestData["persist"]); 590 bool persist = Convert.ToBoolean((string) requestData["persist"]);
628 if (persist) 591 if (persist)
@@ -667,6 +630,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
667 // If an access specification was provided, use it. 630 // If an access specification was provided, use it.
668 // Otherwise accept the default. 631 // Otherwise accept the default.
669 newscene.RegionInfo.EstateSettings.PublicAccess = getBoolean(requestData, "public", m_publicAccess); 632 newscene.RegionInfo.EstateSettings.PublicAccess = getBoolean(requestData, "public", m_publicAccess);
633 newscene.RegionInfo.EstateSettings.EstateOwner = userID;
670 if (persist) 634 if (persist)
671 newscene.RegionInfo.EstateSettings.Save(); 635 newscene.RegionInfo.EstateSettings.Save();
672 636
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs
index 5798286..734b668 100644
--- a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs
@@ -113,14 +113,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
113 rxw.WriteString(s.RegionInfo.ExternalHostName); 113 rxw.WriteString(s.RegionInfo.ExternalHostName);
114 rxw.WriteEndAttribute(); 114 rxw.WriteEndAttribute();
115 115
116 rxw.WriteStartAttribute(String.Empty, "master_name", String.Empty);
117 rxw.WriteString(String.Format("{0} {1}", s.RegionInfo.MasterAvatarFirstName, s.RegionInfo.MasterAvatarLastName));
118 rxw.WriteEndAttribute();
119
120 rxw.WriteStartAttribute(String.Empty, "master_uuid", String.Empty);
121 rxw.WriteString(s.RegionInfo.MasterAvatarAssignedUUID.ToString());
122 rxw.WriteEndAttribute();
123
124 rxw.WriteStartAttribute(String.Empty, "ip", String.Empty); 116 rxw.WriteStartAttribute(String.Empty, "ip", String.Empty);
125 rxw.WriteString(s.RegionInfo.InternalEndPoint.ToString()); 117 rxw.WriteString(s.RegionInfo.InternalEndPoint.ToString());
126 rxw.WriteEndAttribute(); 118 rxw.WriteEndAttribute();
diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs b/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
index 746d08d..5e76009 100644
--- a/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
+++ b/OpenSim/ApplicationPlugins/Rest/Regions/RegionDetails.cs
@@ -56,20 +56,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions
56 region_id = regInfo.RegionID.ToString(); 56 region_id = regInfo.RegionID.ToString();
57 region_x = regInfo.RegionLocX; 57 region_x = regInfo.RegionLocX;
58 region_y = regInfo.RegionLocY; 58 region_y = regInfo.RegionLocY;
59 if (regInfo.EstateSettings.EstateOwner != UUID.Zero) 59 region_owner_id = regInfo.EstateSettings.EstateOwner.ToString();
60 region_owner_id = regInfo.EstateSettings.EstateOwner.ToString();
61 else
62 region_owner_id = regInfo.MasterAvatarAssignedUUID.ToString();
63 region_http_port = regInfo.HttpPort; 60 region_http_port = regInfo.HttpPort;
64 region_server_uri = regInfo.ServerURI; 61 region_server_uri = regInfo.ServerURI;
65 region_external_hostname = regInfo.ExternalHostName; 62 region_external_hostname = regInfo.ExternalHostName;
66 63
67 Uri uri = new Uri(region_server_uri); 64 Uri uri = new Uri(region_server_uri);
68 region_port = (uint)uri.Port; 65 region_port = (uint)uri.Port;
69
70 if (!String.IsNullOrEmpty(regInfo.MasterAvatarFirstName))
71 region_owner = String.Format("{0} {1}", regInfo.MasterAvatarFirstName,
72 regInfo.MasterAvatarLastName);
73 } 66 }
74 67
75 public string this[string idx] 68 public string this[string idx]
diff --git a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
index dbb9611..948a17a 100644
--- a/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
+++ b/OpenSim/Client/MXP/ClientStack/MXPClientView.cs
@@ -427,7 +427,7 @@ namespace OpenSim.Client.MXP.ClientStack
427 pe.ObjectFragment.ObjectIndex = (uint)(m_scene.RegionInfo.RegionSettings.RegionUUID.GetHashCode() + ((long)int.MaxValue) / 2); 427 pe.ObjectFragment.ObjectIndex = (uint)(m_scene.RegionInfo.RegionSettings.RegionUUID.GetHashCode() + ((long)int.MaxValue) / 2);
428 pe.ObjectFragment.ParentObjectId = UUID.Zero.Guid; 428 pe.ObjectFragment.ParentObjectId = UUID.Zero.Guid;
429 pe.ObjectFragment.ObjectName = "Terrain of " + m_scene.RegionInfo.RegionName; 429 pe.ObjectFragment.ObjectName = "Terrain of " + m_scene.RegionInfo.RegionName;
430 pe.ObjectFragment.OwnerId = m_scene.RegionInfo.MasterAvatarAssignedUUID.Guid; 430 pe.ObjectFragment.OwnerId = m_scene.RegionInfo.EstateSettings.EstateOwner;
431 pe.ObjectFragment.TypeId = Guid.Empty; 431 pe.ObjectFragment.TypeId = Guid.Empty;
432 pe.ObjectFragment.TypeName = "Terrain"; 432 pe.ObjectFragment.TypeName = "Terrain";
433 pe.ObjectFragment.Acceleration = new MsdVector3f(); 433 pe.ObjectFragment.Acceleration = new MsdVector3f();
diff --git a/OpenSim/Framework/Communications/Clients/GridClient.cs b/OpenSim/Framework/Communications/Clients/GridClient.cs
index 4836556..0198d75 100644
--- a/OpenSim/Framework/Communications/Clients/GridClient.cs
+++ b/OpenSim/Framework/Communications/Clients/GridClient.cs
@@ -68,10 +68,7 @@ namespace OpenSim.Framework.Communications.Clients
68 GridParams["region_secret"] = regionInfo.regionSecret; 68 GridParams["region_secret"] = regionInfo.regionSecret;
69 GridParams["major_interface_version"] = VersionInfo.MajorInterfaceVersion.ToString(); 69 GridParams["major_interface_version"] = VersionInfo.MajorInterfaceVersion.ToString();
70 70
71 if (regionInfo.MasterAvatarAssignedUUID != UUID.Zero) 71 GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString();
72 GridParams["master_avatar_uuid"] = regionInfo.MasterAvatarAssignedUUID.ToString();
73 else
74 GridParams["master_avatar_uuid"] = regionInfo.EstateSettings.EstateOwner.ToString();
75 72
76 // Package into an XMLRPC Request 73 // Package into an XMLRPC Request
77 ArrayList SendParams = new ArrayList(); 74 ArrayList SendParams = new ArrayList();
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs
index 88b62e0..0a826a6 100644
--- a/OpenSim/Framework/RegionInfo.cs
+++ b/OpenSim/Framework/RegionInfo.cs
@@ -54,10 +54,6 @@ namespace OpenSim.Framework
54 private RegionSettings m_regionSettings; 54 private RegionSettings m_regionSettings;
55 // private IConfigSource m_configSource = null; 55 // private IConfigSource m_configSource = null;
56 56
57 public UUID MasterAvatarAssignedUUID = UUID.Zero;
58 public string MasterAvatarFirstName = String.Empty;
59 public string MasterAvatarLastName = String.Empty;
60 public string MasterAvatarSandboxPassword = String.Empty;
61 public UUID originRegionID = UUID.Zero; 57 public UUID originRegionID = UUID.Zero;
62 public string proxyUrl = ""; 58 public string proxyUrl = "";
63 public int ProxyOffset = 0; 59 public int ProxyOffset = 0;
@@ -488,40 +484,6 @@ namespace OpenSim.Framework
488 m_externalHostName = externalName; 484 m_externalHostName = externalName;
489 485
490 486
491 // Master avatar cruft
492 //
493 string masterAvatarUUID;
494 if (!creatingNew)
495 {
496 masterAvatarUUID = config.GetString("MasterAvatarUUID", UUID.Zero.ToString());
497 MasterAvatarFirstName = config.GetString("MasterAvatarFirstName", String.Empty);
498 MasterAvatarLastName = config.GetString("MasterAvatarLastName", String.Empty);
499 MasterAvatarSandboxPassword = config.GetString("MasterAvatarSandboxPassword", String.Empty);
500 }
501 else
502 {
503 masterAvatarUUID = MainConsole.Instance.CmdPrompt("Master Avatar UUID", UUID.Zero.ToString());
504 if (masterAvatarUUID != UUID.Zero.ToString())
505 {
506 config.Set("MasterAvatarUUID", masterAvatarUUID);
507 }
508 else
509 {
510 MasterAvatarFirstName = MainConsole.Instance.CmdPrompt("Master Avatar first name (enter for no master avatar)", String.Empty);
511 if (MasterAvatarFirstName != String.Empty)
512 {
513 MasterAvatarLastName = MainConsole.Instance.CmdPrompt("Master Avatar last name", String.Empty);
514 MasterAvatarSandboxPassword = MainConsole.Instance.CmdPrompt("Master Avatar sandbox password", String.Empty);
515
516 config.Set("MasterAvatarFirstName", MasterAvatarFirstName);
517 config.Set("MasterAvatarLastName", MasterAvatarLastName);
518 config.Set("MasterAvatarSandboxPassword", MasterAvatarSandboxPassword);
519 }
520 }
521 }
522
523 MasterAvatarAssignedUUID = new UUID(masterAvatarUUID);
524
525 m_regionType = config.GetString("RegionType", String.Empty); 487 m_regionType = config.GetString("RegionType", String.Empty);
526 488
527 // Prim stuff 489 // Prim stuff
@@ -564,20 +526,6 @@ namespace OpenSim.Framework
564 526
565 config.Set("ExternalHostName", m_externalHostName); 527 config.Set("ExternalHostName", m_externalHostName);
566 528
567 if (MasterAvatarAssignedUUID != UUID.Zero)
568 {
569 config.Set("MasterAvatarUUID", MasterAvatarAssignedUUID.ToString());
570 }
571 else if (MasterAvatarFirstName != String.Empty && MasterAvatarLastName != String.Empty)
572 {
573 config.Set("MasterAvatarFirstName", MasterAvatarFirstName);
574 config.Set("MasterAvatarLastName", MasterAvatarLastName);
575 }
576 if (MasterAvatarSandboxPassword != String.Empty)
577 {
578 config.Set("MasterAvatarSandboxPassword", MasterAvatarSandboxPassword);
579 }
580
581 if (m_nonphysPrimMax != 0) 529 if (m_nonphysPrimMax != 0)
582 config.Set("NonphysicalPrimMax", m_nonphysPrimMax); 530 config.Set("NonphysicalPrimMax", m_nonphysPrimMax);
583 if (m_physPrimMax != 0) 531 if (m_physPrimMax != 0)
@@ -651,17 +599,6 @@ namespace OpenSim.Framework
651 configMember.addConfigurationOption("external_host_name", 599 configMember.addConfigurationOption("external_host_name",
652 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 600 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
653 "External Host Name", m_externalHostName, true); 601 "External Host Name", m_externalHostName, true);
654 configMember.addConfigurationOption("master_avatar_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
655 "Master Avatar UUID", MasterAvatarAssignedUUID.ToString(), true);
656 configMember.addConfigurationOption("master_avatar_first",
657 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
658 "First Name of Master Avatar", MasterAvatarFirstName, true);
659 configMember.addConfigurationOption("master_avatar_last",
660 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
661 "Last Name of Master Avatar", MasterAvatarLastName, true);
662 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
663 "(Sandbox Mode Only)Password for Master Avatar account",
664 MasterAvatarSandboxPassword, true);
665 configMember.addConfigurationOption("lastmap_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID, 602 configMember.addConfigurationOption("lastmap_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
666 "Last Map UUID", lastMapUUID.ToString(), true); 603 "Last Map UUID", lastMapUUID.ToString(), true);
667 configMember.addConfigurationOption("lastmap_refresh", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 604 configMember.addConfigurationOption("lastmap_refresh", ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
@@ -711,22 +648,6 @@ namespace OpenSim.Framework
711 configMember.addConfigurationOption("external_host_name", 648 configMember.addConfigurationOption("external_host_name",
712 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY, 649 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
713 "External Host Name", "127.0.0.1", false); 650 "External Host Name", "127.0.0.1", false);
714 configMember.addConfigurationOption("master_avatar_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
715 "Master Avatar UUID", UUID.Zero.ToString(), true);
716 configMember.addConfigurationOption("master_avatar_first",
717 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
718 "First Name of Master Avatar", "Test", false,
719 (ConfigurationOption.ConfigurationOptionShouldBeAsked)
720 shouldMasterAvatarDetailsBeAsked);
721 configMember.addConfigurationOption("master_avatar_last",
722 ConfigurationOption.ConfigurationTypes.TYPE_STRING_NOT_EMPTY,
723 "Last Name of Master Avatar", "User", false,
724 (ConfigurationOption.ConfigurationOptionShouldBeAsked)
725 shouldMasterAvatarDetailsBeAsked);
726 configMember.addConfigurationOption("master_avatar_pass", ConfigurationOption.ConfigurationTypes.TYPE_STRING,
727 "(Sandbox Mode Only)Password for Master Avatar account", "test", false,
728 (ConfigurationOption.ConfigurationOptionShouldBeAsked)
729 shouldMasterAvatarDetailsBeAsked);
730 configMember.addConfigurationOption("lastmap_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID, 651 configMember.addConfigurationOption("lastmap_uuid", ConfigurationOption.ConfigurationTypes.TYPE_UUID,
731 "Last Map UUID", lastMapUUID.ToString(), true); 652 "Last Map UUID", lastMapUUID.ToString(), true);
732 653
@@ -752,11 +673,6 @@ namespace OpenSim.Framework
752 "Region Type", String.Empty, true); 673 "Region Type", String.Empty, true);
753 } 674 }
754 675
755 public bool shouldMasterAvatarDetailsBeAsked(string configuration_key)
756 {
757 return MasterAvatarAssignedUUID == UUID.Zero;
758 }
759
760 public bool handleIncomingConfiguration(string configuration_key, object configuration_result) 676 public bool handleIncomingConfiguration(string configuration_key, object configuration_result)
761 { 677 {
762 switch (configuration_key) 678 switch (configuration_key)
@@ -797,18 +713,6 @@ namespace OpenSim.Framework
797 m_externalHostName = Util.GetLocalHost().ToString(); 713 m_externalHostName = Util.GetLocalHost().ToString();
798 } 714 }
799 break; 715 break;
800 case "master_avatar_uuid":
801 MasterAvatarAssignedUUID = (UUID) configuration_result;
802 break;
803 case "master_avatar_first":
804 MasterAvatarFirstName = (string) configuration_result;
805 break;
806 case "master_avatar_last":
807 MasterAvatarLastName = (string) configuration_result;
808 break;
809 case "master_avatar_pass":
810 MasterAvatarSandboxPassword = (string)configuration_result;
811 break;
812 case "lastmap_uuid": 716 case "lastmap_uuid":
813 lastMapUUID = (UUID)configuration_result; 717 lastMapUUID = (UUID)configuration_result;
814 break; 718 break;
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 391856b..2db17b1 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -586,35 +586,6 @@ namespace OpenSim
586 scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised()); 586 scene.PhysicsScene.SetTerrain(scene.Heightmap.GetFloatsSerialised());
587 scene.PhysicsScene.SetWaterLevel((float) regionInfo.RegionSettings.WaterHeight); 587 scene.PhysicsScene.SetWaterLevel((float) regionInfo.RegionSettings.WaterHeight);
588 588
589 // TODO: Remove this cruft once MasterAvatar is fully deprecated
590 //Master Avatar Setup
591 UserProfileData masterAvatar;
592 if (scene.RegionInfo.MasterAvatarAssignedUUID == UUID.Zero)
593 {
594 masterAvatar =
595 m_commsManager.UserService.SetupMasterUser(scene.RegionInfo.MasterAvatarFirstName,
596 scene.RegionInfo.MasterAvatarLastName,
597 scene.RegionInfo.MasterAvatarSandboxPassword);
598 }
599 else
600 {
601 masterAvatar = m_commsManager.UserService.SetupMasterUser(scene.RegionInfo.MasterAvatarAssignedUUID);
602 scene.RegionInfo.MasterAvatarFirstName = masterAvatar.FirstName;
603 scene.RegionInfo.MasterAvatarLastName = masterAvatar.SurName;
604 }
605
606 if (masterAvatar == null)
607 {
608 m_log.Info("[PARCEL]: No master avatar found, using null.");
609 scene.RegionInfo.MasterAvatarAssignedUUID = UUID.Zero;
610 }
611 else
612 {
613 m_log.InfoFormat("[PARCEL]: Found master avatar {0} {1} [" + masterAvatar.ID.ToString() + "]",
614 scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName);
615 scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.ID;
616 }
617
618 return scene; 589 return scene;
619 } 590 }
620 591
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 3a802df..81fd86e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4030,10 +4030,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4030 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock(); 4030 EstateCovenantReplyPacket.DataBlock edata = new EstateCovenantReplyPacket.DataBlock();
4031 edata.CovenantID = covenant; 4031 edata.CovenantID = covenant;
4032 edata.CovenantTimestamp = 0; 4032 edata.CovenantTimestamp = 0;
4033 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 4033 edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
4034 edata.EstateOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
4035 else
4036 edata.EstateOwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
4037 edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName); 4034 edata.EstateName = Utils.StringToBytes(m_scene.RegionInfo.EstateSettings.EstateName);
4038 einfopack.Data = edata; 4035 einfopack.Data = edata;
4039 OutPacket(einfopack, ThrottleOutPacketType.Task); 4036 OutPacket(einfopack, ThrottleOutPacketType.Task);
@@ -4054,8 +4051,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4054 4051
4055 //Sending Estate Settings 4052 //Sending Estate Settings
4056 returnblock[0].Parameter = Utils.StringToBytes(estateName); 4053 returnblock[0].Parameter = Utils.StringToBytes(estateName);
4057 // TODO: remove this cruft once MasterAvatar is fully deprecated
4058 //
4059 returnblock[1].Parameter = Utils.StringToBytes(estateOwner.ToString()); 4054 returnblock[1].Parameter = Utils.StringToBytes(estateOwner.ToString());
4060 returnblock[2].Parameter = Utils.StringToBytes(estateID.ToString()); 4055 returnblock[2].Parameter = Utils.StringToBytes(estateID.ToString());
4061 4056
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index 4c43389..cc5dfa1 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -182,10 +182,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
182 182
183 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid 183 // Try to retain the original creator/owner/lastowner if their uuid is present on this grid
184 // otherwise, use the master avatar uuid instead 184 // otherwise, use the master avatar uuid instead
185 UUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID;
186
187 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero)
188 masterAvatarId = m_scene.RegionInfo.EstateSettings.EstateOwner;
189 185
190 // Reload serialized parcels 186 // Reload serialized parcels
191 m_log.InfoFormat("[ARCHIVER]: Loading {0} parcels. Please wait.", serialisedParcels.Count); 187 m_log.InfoFormat("[ARCHIVER]: Loading {0} parcels. Please wait.", serialisedParcels.Count);
@@ -194,7 +190,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
194 { 190 {
195 LandData parcel = LandDataSerializer.Deserialize(serialisedParcel); 191 LandData parcel = LandDataSerializer.Deserialize(serialisedParcel);
196 if (!ResolveUserUuid(parcel.OwnerID)) 192 if (!ResolveUserUuid(parcel.OwnerID))
197 parcel.OwnerID = masterAvatarId; 193 parcel.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
198 landData.Add(parcel); 194 landData.Add(parcel);
199 } 195 }
200 m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData); 196 m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData);
@@ -233,13 +229,13 @@ namespace OpenSim.Region.CoreModules.World.Archiver
233 foreach (SceneObjectPart part in sceneObject.Children.Values) 229 foreach (SceneObjectPart part in sceneObject.Children.Values)
234 { 230 {
235 if (!ResolveUserUuid(part.CreatorID)) 231 if (!ResolveUserUuid(part.CreatorID))
236 part.CreatorID = masterAvatarId; 232 part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
237 233
238 if (!ResolveUserUuid(part.OwnerID)) 234 if (!ResolveUserUuid(part.OwnerID))
239 part.OwnerID = masterAvatarId; 235 part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
240 236
241 if (!ResolveUserUuid(part.LastOwnerID)) 237 if (!ResolveUserUuid(part.LastOwnerID))
242 part.LastOwnerID = masterAvatarId; 238 part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
243 239
244 // And zap any troublesome sit target information 240 // And zap any troublesome sit target information
245 part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); 241 part.SitTargetOrientation = new Quaternion(0, 0, 0, 1);
@@ -255,11 +251,11 @@ namespace OpenSim.Region.CoreModules.World.Archiver
255 { 251 {
256 if (!ResolveUserUuid(kvp.Value.OwnerID)) 252 if (!ResolveUserUuid(kvp.Value.OwnerID))
257 { 253 {
258 kvp.Value.OwnerID = masterAvatarId; 254 kvp.Value.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
259 } 255 }
260 if (!ResolveUserUuid(kvp.Value.CreatorID)) 256 if (!ResolveUserUuid(kvp.Value.CreatorID))
261 { 257 {
262 kvp.Value.CreatorID = masterAvatarId; 258 kvp.Value.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
263 } 259 }
264 } 260 }
265 } 261 }
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
index 5b82d4c..2109336 100644
--- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
@@ -57,10 +57,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
57 if (!m_scene.RegionInfo.EstateSettings.UseGlobalTime) 57 if (!m_scene.RegionInfo.EstateSettings.UseGlobalTime)
58 sun=(uint)(m_scene.RegionInfo.EstateSettings.SunPosition*1024.0) + 0x1800; 58 sun=(uint)(m_scene.RegionInfo.EstateSettings.SunPosition*1024.0) + 0x1800;
59 UUID estateOwner; 59 UUID estateOwner;
60 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 60 estateOwner = m_scene.RegionInfo.EstateSettings.EstateOwner;
61 estateOwner = m_scene.RegionInfo.EstateSettings.EstateOwner;
62 else
63 estateOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
64 61
65 if (m_scene.Permissions.IsGod(remote_client.AgentId)) 62 if (m_scene.Permissions.IsGod(remote_client.AgentId))
66 estateOwner = remote_client.AgentId; 63 estateOwner = remote_client.AgentId;
@@ -230,8 +227,6 @@ namespace OpenSim.Region.CoreModules.World.Estate
230 227
231 if (user == m_scene.RegionInfo.EstateSettings.EstateOwner) 228 if (user == m_scene.RegionInfo.EstateSettings.EstateOwner)
232 return; // never process EO 229 return; // never process EO
233 if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID)
234 return; // never process owner
235 230
236 switch (estateAccessType) 231 switch (estateAccessType)
237 { 232 {
@@ -741,14 +736,7 @@ namespace OpenSim.Region.CoreModules.World.Estate
741 args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight; 736 args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight;
742 args.regionFlags = GetRegionFlags(); 737 args.regionFlags = GetRegionFlags();
743 args.regionName = m_scene.RegionInfo.RegionName; 738 args.regionName = m_scene.RegionInfo.RegionName;
744 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 739 args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner;
745 args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner;
746 else
747 args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID;
748
749 // Fudge estate owner
750 //if (m_scene.Permissions.IsGod(remoteClient.AgentId))
751 // args.SimOwner = remoteClient.AgentId;
752 740
753 args.terrainBase0 = UUID.Zero; 741 args.terrainBase0 = UUID.Zero;
754 args.terrainBase1 = UUID.Zero; 742 args.terrainBase1 = UUID.Zero;
@@ -1127,8 +1115,6 @@ namespace OpenSim.Region.CoreModules.World.Estate
1127 1115
1128 public bool IsManager(UUID avatarID) 1116 public bool IsManager(UUID avatarID)
1129 { 1117 {
1130 if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID)
1131 return true;
1132 if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner) 1118 if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner)
1133 return true; 1119 return true;
1134 1120
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
index 9b39b09..f0c87f4 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
@@ -227,10 +227,7 @@ namespace OpenSim.Region.CoreModules.World.Land
227 ILandObject fullSimParcel = new LandObject(UUID.Zero, false, m_scene); 227 ILandObject fullSimParcel = new LandObject(UUID.Zero, false, m_scene);
228 228
229 fullSimParcel.SetLandBitmap(fullSimParcel.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); 229 fullSimParcel.SetLandBitmap(fullSimParcel.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize));
230 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 230 fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
231 fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
232 else
233 fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
234 fullSimParcel.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); 231 fullSimParcel.LandData.ClaimDate = Util.UnixTimeSinceEpoch();
235 AddLandObject(fullSimParcel); 232 AddLandObject(fullSimParcel);
236 } 233 }
@@ -1090,10 +1087,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1090 { 1087 {
1091 if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land)) 1088 if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land))
1092 { 1089 {
1093 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 1090 land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
1094 land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
1095 else
1096 land.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
1097 land.LandData.GroupID = UUID.Zero; 1091 land.LandData.GroupID = UUID.Zero;
1098 land.LandData.IsGroupOwned = false; 1092 land.LandData.IsGroupOwned = false;
1099 m_scene.ForEachClient(SendParcelOverlay); 1093 m_scene.ForEachClient(SendParcelOverlay);
@@ -1114,10 +1108,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1114 { 1108 {
1115 if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land)) 1109 if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land))
1116 { 1110 {
1117 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 1111 land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
1118 land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
1119 else
1120 land.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID;
1121 land.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); 1112 land.LandData.ClaimDate = Util.UnixTimeSinceEpoch();
1122 land.LandData.GroupID = UUID.Zero; 1113 land.LandData.GroupID = UUID.Zero;
1123 land.LandData.IsGroupOwned = false; 1114 land.LandData.IsGroupOwned = false;
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
index aaebd00..ee76440 100644
--- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
+++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs
@@ -477,12 +477,6 @@ namespace OpenSim.Region.CoreModules.World.Permissions
477 { 477 {
478 if (user == UUID.Zero) return false; 478 if (user == UUID.Zero) return false;
479 479
480 if (m_scene.RegionInfo.MasterAvatarAssignedUUID != UUID.Zero)
481 {
482 if (m_RegionOwnerIsGod && (m_scene.RegionInfo.MasterAvatarAssignedUUID == user))
483 return true;
484 }
485
486 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) 480 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero)
487 { 481 {
488 if (m_scene.RegionInfo.EstateSettings.EstateOwner == user) 482 if (m_scene.RegionInfo.EstateSettings.EstateOwner == user)
diff --git a/OpenSim/Region/DataSnapshot/EstateSnapshot.cs b/OpenSim/Region/DataSnapshot/EstateSnapshot.cs
index 9206a6d..27c82cd 100644
--- a/OpenSim/Region/DataSnapshot/EstateSnapshot.cs
+++ b/OpenSim/Region/DataSnapshot/EstateSnapshot.cs
@@ -56,9 +56,7 @@ namespace OpenSim.Region.DataSnapshot.Providers
56 //Now in DataSnapshotProvider module form! 56 //Now in DataSnapshotProvider module form!
57 XmlNode estatedata = factory.CreateNode(XmlNodeType.Element, "estate", ""); 57 XmlNode estatedata = factory.CreateNode(XmlNodeType.Element, "estate", "");
58 58
59 UUID ownerid = m_scene.RegionInfo.MasterAvatarAssignedUUID; 59 ownerid = m_scene.RegionInfo.EstateSettings.EstateOwner;
60 if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero)
61 ownerid = m_scene.RegionInfo.EstateSettings.EstateOwner;
62 60
63 UserAccount userInfo = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerid); 61 UserAccount userInfo = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, ownerid);
64 //TODO: Change to query userserver about the master avatar UUID ? 62 //TODO: Change to query userserver about the master avatar UUID ?
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index 476873a..e0da51b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -101,12 +101,6 @@ namespace OpenSim.Region.Framework.Scenes
101 { 101 {
102 userlevel = 1; 102 userlevel = 1;
103 } 103 }
104 // TODO: remove this cruft once MasterAvatar is fully deprecated
105 //
106 if (m_regInfo.MasterAvatarAssignedUUID == AgentID)
107 {
108 userlevel = 2;
109 }
110 EventManager.TriggerOnNewInventoryItemUploadComplete(AgentID, item.AssetID, item.Name, userlevel); 104 EventManager.TriggerOnNewInventoryItemUploadComplete(AgentID, item.AssetID, item.Name, userlevel);
111 } 105 }
112 else 106 else
diff --git a/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs b/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs
index 773507c..53b103e 100644
--- a/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/Chat/RegionState.cs
@@ -57,8 +57,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat
57 internal string Host = String.Empty; 57 internal string Host = String.Empty;
58 internal string LocX = String.Empty; 58 internal string LocX = String.Empty;
59 internal string LocY = String.Empty; 59 internal string LocY = String.Empty;
60 internal string MA1 = String.Empty;
61 internal string MA2 = String.Empty;
62 internal string IDK = String.Empty; 60 internal string IDK = String.Empty;
63 61
64 // System values - used only be the IRC classes themselves 62 // System values - used only be the IRC classes themselves
@@ -85,8 +83,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat
85 Host = scene.RegionInfo.ExternalHostName; 83 Host = scene.RegionInfo.ExternalHostName;
86 LocX = Convert.ToString(scene.RegionInfo.RegionLocX); 84 LocX = Convert.ToString(scene.RegionInfo.RegionLocX);
87 LocY = Convert.ToString(scene.RegionInfo.RegionLocY); 85 LocY = Convert.ToString(scene.RegionInfo.RegionLocY);
88 MA1 = scene.RegionInfo.MasterAvatarFirstName;
89 MA2 = scene.RegionInfo.MasterAvatarLastName;
90 IDK = Convert.ToString(_idk_++); 86 IDK = Convert.ToString(_idk_++);
91 87
92 // OpenChannel conditionally establishes a connection to the 88 // OpenChannel conditionally establishes a connection to the
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
index 4521f8e..19f9a82 100644
--- a/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/MRMModule.cs
@@ -212,8 +212,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
212 if (script.StartsWith("//MRM:C#")) 212 if (script.StartsWith("//MRM:C#"))
213 { 213 {
214 if (m_config.GetBoolean("OwnerOnly", true)) 214 if (m_config.GetBoolean("OwnerOnly", true))
215 if (m_scene.GetSceneObjectPart(localID).OwnerID != m_scene.RegionInfo.MasterAvatarAssignedUUID 215 if (m_scene.GetSceneObjectPart(localID).OwnerID != m_scene.RegionInfo.EstateSettings.EstateOwner)
216 || m_scene.GetSceneObjectPart(localID).CreatorID != m_scene.RegionInfo.MasterAvatarAssignedUUID) 216 || m_scene.GetSceneObjectPart(localID).CreatorID != m_scene.RegionInfo.EstateSettings.EstateOwner)
217 return; 217 return;
218 218
219 script = ConvertMRMKeywords(script); 219 script = ConvertMRMKeywords(script);
@@ -280,7 +280,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
280 public void GetGlobalEnvironment(uint localID, out IWorld world, out IHost host) 280 public void GetGlobalEnvironment(uint localID, out IWorld world, out IHost host)
281 { 281 {
282 // UUID should be changed to object owner. 282 // UUID should be changed to object owner.
283 UUID owner = m_scene.RegionInfo.MasterAvatarAssignedUUID; 283 UUID owner = m_scene.RegionInfo.EstateSettings.EstateOwner)
284 SEUser securityUser = new SEUser(owner, "Name Unassigned"); 284 SEUser securityUser = new SEUser(owner, "Name Unassigned");
285 SecurityCredential creds = new SecurityCredential(securityUser, m_scene); 285 SecurityCredential creds = new SecurityCredential(securityUser, m_scene);
286 286
diff --git a/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs b/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs
index e3fbb6e..92a205b 100644
--- a/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs
+++ b/OpenSim/Region/OptionalModules/World/TreePopulator/TreePopulatorModule.cs
@@ -306,8 +306,6 @@ namespace OpenSim.Region.OptionalModules.World.TreePopulator
306 306
307 m_log.InfoFormat("[TREES]: New tree planting for copse {0}", copsename); 307 m_log.InfoFormat("[TREES]: New tree planting for copse {0}", copsename);
308 UUID uuid = m_scene.RegionInfo.EstateSettings.EstateOwner; 308 UUID uuid = m_scene.RegionInfo.EstateSettings.EstateOwner;
309 if (uuid == UUID.Zero)
310 uuid = m_scene.RegionInfo.MasterAvatarAssignedUUID;
311 309
312 foreach (Copse copse in m_copse) 310 foreach (Copse copse in m_copse)
313 { 311 {
@@ -760,8 +758,6 @@ namespace OpenSim.Region.OptionalModules.World.TreePopulator
760 Util.GetDistanceTo(position, copse.m_seed_point) <= copse.m_range) 758 Util.GetDistanceTo(position, copse.m_seed_point) <= copse.m_range)
761 { 759 {
762 UUID uuid = m_scene.RegionInfo.EstateSettings.EstateOwner; 760 UUID uuid = m_scene.RegionInfo.EstateSettings.EstateOwner;
763 if (uuid == UUID.Zero)
764 uuid = m_scene.RegionInfo.MasterAvatarAssignedUUID;
765 761
766 CreateTree(uuid, copse, position); 762 CreateTree(uuid, copse, position);
767 } 763 }
diff --git a/OpenSim/Services/Interfaces/IGridService.cs b/OpenSim/Services/Interfaces/IGridService.cs
index 5ea136f..cd27145 100644
--- a/OpenSim/Services/Interfaces/IGridService.cs
+++ b/OpenSim/Services/Interfaces/IGridService.cs
@@ -204,12 +204,6 @@ namespace OpenSim.Services.Interfaces
204 Maturity = ConvertFrom.RegionSettings.Maturity; 204 Maturity = ConvertFrom.RegionSettings.Maturity;
205 RegionSecret = ConvertFrom.regionSecret; 205 RegionSecret = ConvertFrom.regionSecret;
206 EstateOwner = ConvertFrom.EstateSettings.EstateOwner; 206 EstateOwner = ConvertFrom.EstateSettings.EstateOwner;
207 if (EstateOwner == UUID.Zero)
208 {
209 EstateOwner = ConvertFrom.MasterAvatarAssignedUUID;
210 ConvertFrom.EstateSettings.EstateOwner = EstateOwner;
211 ConvertFrom.EstateSettings.Save();
212 }
213 } 207 }
214 208
215 public GridRegion(GridRegion ConvertFrom) 209 public GridRegion(GridRegion ConvertFrom)