mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 09:16:28 +08:00
Remove two causes of recursive locking. Merge artefact cleanup.
This commit is contained in:
@@ -176,16 +176,14 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
/// <param name="ownerId"></param>
|
||||
public void ChangeInventoryOwner(UUID ownerId)
|
||||
{
|
||||
m_items.LockItemsForWrite(true);
|
||||
if (0 == Items.Count)
|
||||
{
|
||||
m_items.LockItemsForWrite(false);
|
||||
return;
|
||||
}
|
||||
List<TaskInventoryItem> items = GetInventoryItems();
|
||||
|
||||
if (items.Count == 0)
|
||||
return;
|
||||
|
||||
m_items.LockItemsForWrite(true);
|
||||
HasInventoryChanged = true;
|
||||
m_part.ParentGroup.HasGroupChanged = true;
|
||||
List<TaskInventoryItem> items = GetInventoryItems();
|
||||
foreach (TaskInventoryItem item in items)
|
||||
{
|
||||
if (ownerId != item.OwnerID)
|
||||
@@ -766,8 +764,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
if (item.Name == name)
|
||||
{
|
||||
return item;
|
||||
m_items.LockItemsForRead(false);
|
||||
return item;
|
||||
}
|
||||
}
|
||||
m_items.LockItemsForRead(false);
|
||||
|
||||
Reference in New Issue
Block a user