Some more fixes on strange behaviors of Unknown User, esp. related to large messy inventories and esp. related to kokua

cpu-performance
Diva Canto 2013-07-06 18:02:17 -07:00
parent 1dd3a0bc57
commit 391633c072
2 changed files with 15 additions and 15 deletions

View File

@ -514,9 +514,8 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
return;
}
//try update unknown users
//and creator's home URL's
if ((oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown")) || (oldUser.HomeURL != null && !creatorData.StartsWith(oldUser.HomeURL)))
//try update unknown users, but don't update anyone else
if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown"))
{
lock (m_UserCache)
m_UserCache.Remove(id);

View File

@ -195,19 +195,20 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
{
InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID, folderID);
if (invCol != null && UserManager != null)
{
// Protect ourselves against the caller subsequently modifying the items list
List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items);
// Commenting this for now, because it's causing more grief than good
//if (invCol != null && UserManager != null)
//{
// // Protect ourselves against the caller subsequently modifying the items list
// List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items);
if (items != null && items.Count > 0)
//Util.FireAndForget(delegate
//{
foreach (InventoryItemBase item in items)
if (!string.IsNullOrEmpty(item.CreatorData))
UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
//});
}
// if (items != null && items.Count > 0)
// //Util.FireAndForget(delegate
// //{
// foreach (InventoryItemBase item in items)
// if (!string.IsNullOrEmpty(item.CreatorData))
// UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
// //});
//}
return invCol;
}