aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules
diff options
context:
space:
mode:
authorMelanie2010-09-17 03:49:30 +0100
committerMelanie2010-09-17 03:49:30 +0100
commit7df438323576603344442e1350ed593e797ae3ae (patch)
tree2de03b8eaf5de93ba3305b0af8ae2616f9440d15 /OpenSim/Region/CoreModules
parentRevert "* Changed 11 calls for session info to the more optimized API method" (diff)
parentRevert "* Changed 11 calls for session info to the more optimized API method" (diff)
downloadopensim-SC-7df438323576603344442e1350ed593e797ae3ae.zip
opensim-SC-7df438323576603344442e1350ed593e797ae3ae.tar.gz
opensim-SC-7df438323576603344442e1350ed593e797ae3ae.tar.bz2
opensim-SC-7df438323576603344442e1350ed593e797ae3ae.tar.xz
Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch. Don't use this version, it has a ghost avatar issue. Next push will fix it.
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs10
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs11
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs6
-rw-r--r--OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs7
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs6
5 files changed, 10 insertions, 30 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
index 7c95658..6f7256e 100644
--- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
@@ -586,13 +586,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments
586 so.RootPart.AttachedAvatar = avatar.UUID; 586 so.RootPart.AttachedAvatar = avatar.UUID;
587 587
588 //Anakin Lohner bug #3839 588 //Anakin Lohner bug #3839
589 lock (so.Children) 589 SceneObjectPart[] parts = so.Parts;
590 { 590 for (int i = 0; i < parts.Length; i++)
591 foreach (SceneObjectPart p in so.Children.Values) 591 parts[i].AttachedAvatar = avatar.UUID;
592 {
593 p.AttachedAvatar = avatar.UUID;
594 }
595 }
596 592
597 if (so.RootPart.PhysActor != null) 593 if (so.RootPart.PhysActor != null)
598 { 594 {
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index a2ba498..42e3359 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -544,7 +544,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
544 if (!attachment) 544 if (!attachment)
545 { 545 {
546 group.RootPart.CreateSelected = true; 546 group.RootPart.CreateSelected = true;
547 foreach (SceneObjectPart child in group.Children.Values) 547 foreach (SceneObjectPart child in group.Parts)
548 child.CreateSelected = true; 548 child.CreateSelected = true;
549 } 549 }
550 550
@@ -629,10 +629,6 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
629 rootPart.Name = item.Name; 629 rootPart.Name = item.Name;
630 rootPart.Description = item.Description; 630 rootPart.Description = item.Description;
631 631
632 List<SceneObjectPart> partList = null;
633 lock (group.Children)
634 partList = new List<SceneObjectPart>(group.Children.Values);
635
636 group.SetGroup(remoteClient.ActiveGroupId, remoteClient); 632 group.SetGroup(remoteClient.ActiveGroupId, remoteClient);
637 if ((rootPart.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0) 633 if ((rootPart.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0)
638 { 634 {
@@ -642,7 +638,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
642 638
643 if (m_Scene.Permissions.PropagatePermissions()) 639 if (m_Scene.Permissions.PropagatePermissions())
644 { 640 {
645 foreach (SceneObjectPart part in partList) 641 foreach (SceneObjectPart part in group.Parts)
646 { 642 {
647 part.EveryoneMask = item.EveryOnePermissions; 643 part.EveryoneMask = item.EveryOnePermissions;
648 part.NextOwnerMask = item.NextPermissions; 644 part.NextOwnerMask = item.NextPermissions;
@@ -656,7 +652,8 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
656 { 652 {
657 m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 8"); 653 m_log.Debug("[InventoryAccessModule]: Inventory object has UUID.Zero! Position 8");
658 } 654 }
659 foreach (SceneObjectPart part in partList) 655
656 foreach (SceneObjectPart part in group.Parts)
660 { 657 {
661 if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0) 658 if ((part.OwnerID != item.Owner) || (item.CurrentPermissions & 16) != 0)
662 { 659 {
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index e51f118..4af7a1b 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -243,11 +243,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
243 // to the same scene (when this is possible). 243 // to the same scene (when this is possible).
244 sceneObject.ResetIDs(); 244 sceneObject.ResetIDs();
245 245
246 List<SceneObjectPart> partList = null; 246 foreach (SceneObjectPart part in sceneObject.Parts)
247 lock (sceneObject.Children)
248 partList = new List<SceneObjectPart>(sceneObject.Children.Values);
249
250 foreach (SceneObjectPart part in partList)
251 { 247 {
252 if (!ResolveUserUuid(part.CreatorID)) 248 if (!ResolveUserUuid(part.CreatorID))
253 part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; 249 part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
diff --git a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
index db50339..d91c36c 100644
--- a/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
+++ b/OpenSim/Region/CoreModules/World/Objects/BuySell/BuySellModule.cs
@@ -128,14 +128,9 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell
128 group.SetOwnerId(remoteClient.AgentId); 128 group.SetOwnerId(remoteClient.AgentId);
129 group.SetRootPartOwner(part, remoteClient.AgentId, remoteClient.ActiveGroupId); 129 group.SetRootPartOwner(part, remoteClient.AgentId, remoteClient.ActiveGroupId);
130 130
131 List<SceneObjectPart> partList = null;
132
133 lock (group.Children)
134 partList = new List<SceneObjectPart>(group.Children.Values);
135
136 if (m_scene.Permissions.PropagatePermissions()) 131 if (m_scene.Permissions.PropagatePermissions())
137 { 132 {
138 foreach (SceneObjectPart child in partList) 133 foreach (SceneObjectPart child in group.Parts)
139 { 134 {
140 child.Inventory.ChangeInventoryOwner(remoteClient.AgentId); 135 child.Inventory.ChangeInventoryOwner(remoteClient.AgentId);
141 child.TriggerScriptChangedEvent(Changed.OWNER); 136 child.TriggerScriptChangedEvent(Changed.OWNER);
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs
index 1bd1371..c83ac85 100644
--- a/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs
+++ b/OpenSim/Region/CoreModules/World/WorldMap/MapImageModule.cs
@@ -229,11 +229,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
229 Color mapdotspot = Color.Gray; // Default color when prim color is white 229 Color mapdotspot = Color.Gray; // Default color when prim color is white
230 230
231 // Loop over prim in group 231 // Loop over prim in group
232 List<SceneObjectPart> partList = null; 232 foreach (SceneObjectPart part in mapdot.Parts)
233 lock (mapdot.Children)
234 partList = new List<SceneObjectPart>(mapdot.Children.Values);
235
236 foreach (SceneObjectPart part in partList)
237 { 233 {
238 if (part == null) 234 if (part == null)
239 continue; 235 continue;